Version 2.29 and Neo4J upgrade
Release date: March 8, 2019
New CLI Features
- [TAU-4558] - Merge between Percipient Lines
- [TAU-4334] - New Conflict resolution sorting options
Changed Public API Behavior
- [TAU-4757] - Public API: POST requests should ignore uc field
- [TAU-4665] - Public API: New fqn-filter parameter
Neo4J Upgrade for Version 2.29
Percipient server 2.29 requires Neo4j 3.5.3.
For complex multi-server, multi-node, HA deployments of Percipient and Neo4j, please also consult official Neo4j upgrade guide.
Upgrade on Debian platform
For systems that have older version of PiServer installed, please follow the steps below to upgrade to 2.29.
1. Stop PiServer and Neo4j server
service piserver stop
service neo4j stop
It's critical to properly shut down Neo4j and PiServer before DB upgrade. Make sure no error/warning messages from "service neo4j status" and "service piserver status"
2. Backup exiting Neo4j DB
cp -a /var/lib/neo4j/data /var/lib/neo4j/data.backup
3. Update Pi packages
apt-get install mdx-piserver mdx-piserver-tools mdx-picli
4. Update Neo4j to 3.5.3
/usr/share/mdx/products/piserver/bin/install-deps.sh
5. Re-configure Neo4j for PiServer
/usr/share/mdx/products/piserver/bin/config-neo4j.sh install
6. Enable Neo4j DB upgrade
echo "dbms.allow_upgrade=true" >> /usr/share/mdx/neo4j/current/conf/neo4j.conf
7. Start Neo4j server and PiServer
service neo4j start && service piserver start
8. After verifying the new DB is working properly, stop Neo4j and PiServer
service neo4j stop
service piserver stop
It's critical to properly shut down Neo4j and PiServer after DB upgrade. Make sure no error/warning messages from "service neo4j status" and "service piserver status"
9. Disable Neo4j upgrade option
sed -i -e 's/^dbms.allow_upgrade=true.*/dbms.allow_upgrade=false/g' /usr/share/mdx/neo4j/current/conf/neo4j.conf
10. Restart Neo4j and PiServer and make sure they can restart properly
If Neo4j/PiServer fails to restart, please contact Perforce support.
11. Remove the backup Neo4j DB if desired
rm -rf /var/lib/neo4j/data.backup
Upgrade on Centos/RHEL/SLES platforms
For systems that have older version of PiServer installed, please follow the steps below to upgrade to 2.29.
1. Stop PiServer and Neo4j server
service piserver stopNote: it's critical to properly shut down Neo4j and PiServer before DB upgrade. Make sure no error/warning messages from "service piserver status"
2. Backup exiting Neo4j DB
cp -a /var/lib/mdx-neo4j/data /var/lib/mdx-neo4j/data.backup
3. Update Pi packages
yum update mdx-piserver-tools mdx-piserver mdx-picli
4. Update Neo4j to 3.5.3
/usr/share/mdx/products/piserver/bin/install-rpm-deps.sh --nojava
5. Enable Neo4j DB upgrade
/usr/share/mdx/products/piserver/bin/config-neo4j.sh upgrade
6. Start PiServer and Neo4j DB will be upgraded automatically
service piserver start
7. Perform some Pi command and make sure the new PiServer is working properly, then stop Neo4j and PiServer
service piserver stop
Note: it's critical to properly shut down Neo4j and PiServer after DB upgrade. Make sure no error/warning messages from "service piserver status"
8. Disable Neo4j upgrade option
/usr/share/mdx/products/piserver/bin/config-neo4j.sh un-upgrade
9. Restart PiServer and make sure they can restart properly
Note: If Neo4j/PiServer fails to restart, please contact Perforce support
10. Remove the backup Neo4j DB if desired
rm -rf /var/lib/mdx-neo4j/data.backup
11. Neo4j upgrade is done. Start piserver.
service piserver start
Enhancements
- [TAU-4400] - Alias locking improvements / Server hook
- [TAU-4602] - CLI API Internal pagination (performance enhancement)
- [TAU-4025] - Upgrade to Neo4j 3.5.x (see notes below)
- [TAU-4147] - Implement pi ip publish support for PiCache
- [TAU-4432] - [CLI] Add hostname (FQN) to workspace location
- [TAU-4616] - Abort Neo4j startup when DB schema version is in the future
- [TAU-4634] - Optimization for custom property values (no migrations)
- [TAU-4687] - Make settings validation less strict
- [TAU-4763] - Sort order of matches in `MultipleWsResourceMatchError` output
- [TAU-4320] - pi settings should report PiCache settings
- [TAU-4455] - Custom DM - Add "modified": True|False entry to Update script payload
- [TAU-4682] - Delete workspace object on failed pi ip load
Bugs
- [TAU-3283] - release of IPVs@HEAD in refer mode
- [TAU-4293] - Public API: Fix ip usage ignoring trees with middle layer having alias
- [TAU-4559] - Pi CLI gives a traceback if there's a typo in the field name of the Reports section of 'piclient.conf'
- [TAU-4579] - shouldn't be able to do a diff on a library
- [TAU-4594] - pi does not wait for new refer IPVs to be visible on the filesystem
- [TAU-4764] - ip load IP@0 with PiCache not supposed to load any files
- [TAU-4267] - typo in piserver.properties
- [TAU-4720] - Public API: Sending same dm_type_name was making a new release