Apache Hop version
Current main branch
Java version
Java 21
Operating system
All
What happened?
Hop Server truncates command-line system property values that contain an equals sign.
For example, a property passed as:
--system-properties hop.connection.url=jdbc:test://localhost/database?user=admin
is stored as:
jdbc:test://localhost/database?user
This affects common values such as JDBC URLs, query strings, signed tokens, and encoded configuration values.
Expected behavior
The property name and value should be separated at the first equals sign only, preserving any additional equals signs in the value.
Reproduction
- Configure Hop Server with a system property whose value contains
=.
- Call
HopServer.applySystemProperties() or start Hop Server with that option.
- Read the resulting Java system property.
- Observe that the value is truncated after the second
=.
Root cause
HopServer.applySystemProperties() uses String.split("=") and selects only the second array element. Other Hop command entry points limit the split to two parts.
Apache Hop version
Current
mainbranchJava version
Java 21
Operating system
All
What happened?
Hop Server truncates command-line system property values that contain an equals sign.
For example, a property passed as:
is stored as:
This affects common values such as JDBC URLs, query strings, signed tokens, and encoded configuration values.
Expected behavior
The property name and value should be separated at the first equals sign only, preserving any additional equals signs in the value.
Reproduction
=.HopServer.applySystemProperties()or start Hop Server with that option.=.Root cause
HopServer.applySystemProperties()usesString.split("=")and selects only the second array element. Other Hop command entry points limit the split to two parts.