Repository navigation
DLPX-99529 Masking : Create new branch and upgrade to version 2.17 for forked repo Apache hop - #17
Merged
srusia-delphix merged 2 commits intoOct 7, 2026
Conversation
srusia-delphix
force-pushed
the
dlpx/pr/srusia-delphix/78d2d83b-d74d-449d-a2c9-1854a8eb0801
branch
from
October 6, 2026 06:26
463bc3f to
53eba09
Compare
…r forked repo Apache hop PR URL: https://www.github.com/delphix/hop/pull/17
srusia-delphix
force-pushed
the
dlpx/pr/srusia-delphix/78d2d83b-d74d-449d-a2c9-1854a8eb0801
branch
from
October 6, 2026 06:38
53eba09 to
ea46734
Compare
srusia-delphix
requested review from
AnoopKumarDelphix,
abhinavm-perforce,
abhishekkumardelphix,
ankurs-delphix,
sandeep-delphix and
sharadpandey90
October 6, 2026 06:46
srusia-delphix
marked this pull request as ready for review
October 6, 2026 07:05
ankurs-delphix
approved these changes
Oct 6, 2026
There was a problem hiding this comment.
Copilot review overview
🟡 Changes recommended
Database metadata handling, polling configuration, and batch exception reporting contain unresolved functional regressions.
Review effort: Balanced
Findings: 5
Open (7)
Preserve database channel log level in emptyAndCommit() · New Check original JDBC type for DECIMAL and NUMERIC handling · New Apply Oracle RAW binary semantics to regular query results · New Use original JDBC type to detect BLOB columns · New Restore configured polling timeout for multi-input reads · New Correct spelling of suppressed · New Use plural types to match these · New
What changed in this PR
Ports the Delphix masking customizations onto Apache Hop 2.17, including database compatibility, runtime configuration, and internal artifact publishing.
Changes:
- Configures Delphix Artifactory publishing and dependency resolution.
- Reapplies database metadata, fetch-size, and exception-reporting customizations.
- Updates launch classpaths and related tests.
| File | Description |
|---|---|
settings.xml |
Adds Delphix Artifactory settings. |
pom.xml |
Configures internal artifact deployment. |
plugins/databases/oracle/.../OracleValueMetaBaseTest.java |
Updates Oracle binary metadata expectations. |
engine/.../BaseTransform.java |
Changes input polling timeout behavior. |
core/.../ValueMetaBaseTest.java |
Updates null-string conversion expectation. |
core/.../ValueMetaBase.java |
Adds database type and JDBC handling customizations. |
core/.../HopDatabaseBatchException.java |
Reports chained SQL exceptions. |
core/.../Database.java |
Adds configurable fetch sizing and logging propagation. |
assemblies/.../hop-run.sh |
Extends runtime classpath. |
assemblies/.../hop-gui.sh |
Extends GUI classpath. |
.gitignore |
Ignores local snapshots. |
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
srusia-delphix
deleted the
dlpx/pr/srusia-delphix/78d2d83b-d74d-449d-a2c9-1854a8eb0801
branch
October 7, 2026 06:56
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.


Problem
The masking engine is moving from Hop 1.2.0 to a 2.x line. Hop 2.15 was the original target, but it carries a performance regression in
org.apache.hop.core.Conditionthat makes delimited-file masking roughly 3x slower (see DLPX-99491 and #16):evaluate()rebuilds the right-handValueMetaon every row, and under the maskingSecurityManagereach rebuild costs a policy evaluation.Apache fixed that regression in 2.17.0, so targeting 2.17 removes the need to carry a Delphix patch for it at all.
Evaluation
2.17.0 is the only version that both fixes the regression and runs on Java 17. Upstream's fix, introduced in 2.17.0 and absent in 2.15/2.16, caches the constant right value in
Conditionitself:invalidated via
clearFieldPositions(), whichFilterRows.init()calls once per transform copy per run.Solution
New
delphix/hop-2.17branch cut from upstream 2.17.0, with the existing Delphix patch set re-applied as a single commit.This PR replicates #12 (the 2.15 branch creation) onto 2.17 with no additional changes.
Testing Done
CI on this PR: build pass, style checks pass, Jira checks pass.
Compatibility and risk verification performed against upstream artifacts (all reproducible from published jars and the Apache repo):
Notes to Reviewers
One file fewer than the 2.15 patch set. #12 also patched
ui/.../PreviewRowsDialogTest.java, which is not carried here as it is removed in upstream 2.17.