Problem
Deployment scripts assume a shared installation path and a preconfigured Java environment. This breaks heterogeneous clusters where nodes use different PIXELS_HOME or JDK locations. In particular, daemon shutdown can fail because jps is not on PATH, and install.sh references a non-existent C++ properties template. Buffer object-storage folders without a trailing slash also form invalid object keys.
Proposed fix
- Normalize the retina buffer storage folder with a trailing slash.
- Resolve Java from a valid
JAVA_HOME, PATH, or common node-local JDK locations; export its bin directory so jps is available.
- Run remote worker/retina lifecycle commands against the target node's
PIXELS_HOME and rewrite copied absolute paths during cluster sync.
- Copy
cpp/etc/pixels-cpp.properties from the installer.
Validation
bash -n install.sh scripts/bin/run-class.sh scripts/sbin/rsync-cluster.sh scripts/sbin/start-retina.sh scripts/sbin/start-workers.sh scripts/sbin/stop-retina.sh scripts/sbin/stop-workers.sh
mvn -pl pixels-core -DskipTests package
Problem
Deployment scripts assume a shared installation path and a preconfigured Java environment. This breaks heterogeneous clusters where nodes use different
PIXELS_HOMEor JDK locations. In particular, daemon shutdown can fail becausejpsis not onPATH, andinstall.shreferences a non-existent C++ properties template. Buffer object-storage folders without a trailing slash also form invalid object keys.Proposed fix
JAVA_HOME,PATH, or common node-local JDK locations; export itsbindirectory sojpsis available.PIXELS_HOMEand rewrite copied absolute paths during cluster sync.cpp/etc/pixels-cpp.propertiesfrom the installer.Validation
bash -n install.sh scripts/bin/run-class.sh scripts/sbin/rsync-cluster.sh scripts/sbin/start-retina.sh scripts/sbin/start-workers.sh scripts/sbin/stop-retina.sh scripts/sbin/stop-workers.shmvn -pl pixels-core -DskipTests package