Skip to content

Hop Server truncates system property values containing equals signs #7502

Description

@gvdutra

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

  1. Configure Hop Server with a system property whose value contains =.
  2. Call HopServer.applySystemProperties() or start Hop Server with that option.
  3. Read the resulting Java system property.
  4. 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.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Fields

No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions