arif-basri opened a new issue, #7003:
URL: https://github.com/apache/hop/issues/7003
### Apache Hop version?
2.17.0
### Java version?
17.0.18
### Operating system
Linux
### What happened?
https://github.com/user-attachments/assets/04c18bb2-c1b4-411a-ab6a-4afba6a65923";
/>
https://github.com/user-attachments/assets/c783e943-4022-4a50-8c35-e2fff6f22953";
/>
## What happened?
When importing a Kettle/PDI `.ktr` file that contains a **Combination
Lookup/Update** step configured to use a database sequence for technical key
generation, the Hop importer produces an `.hpl` file that includes the sequence
name in the XML — but **the Hop GUI does not load or display it**, leaving the
sequence field blank in the transform dialog.
Manually re-entering the sequence name in the dialog and saving causes Hop
to rewrite the XML with the sequence in a different location. This confirms
that the import produces an XML structure that the current
`CombinationLookupMeta` loader does not read back.
---
### Steps to reproduce
1. In Kettle/PDI, create a transformation containing a **Combination
Lookup/Update** step.
2. Configure the step:
- Technical key field: `timeid`
- Technical key creation method: **Sequence**
- Sequence name: `time_seq`
3. Save as a `.ktr` file.
4. In Apache Hop, go to **File → Import → Kettle Import** and import the
`.ktr`.
5. Open the resulting `.hpl` in the Hop GUI.
6. Open the **Combination Lookup/Update** transform dialog.
**Result:** The sequence name field is blank.
---
### Imported `.hpl` — sequence is at the **transform level** (what the
importer produces)
```xml
Combination lookup/update
CombinationLookup
...
timeid
sequence
N
time_seq
...
```
The sequence name `time_seq` is present in the file, but the GUI shows an
**empty sequence field**.
---
### After re-entering the sequence in the GUI and saving — sequence is
inside `` (what Hop expects)
```xml
Combination lookup/update
CombinationLookup
...
sequence
timeid
N
time_seq
...
```
---
### Root cause
The `CombinationLookup` metadata model stores `sequenceFrom` inside the
`CFields` class, which is serialized under ``. The importer preserves
the original Kettle/old-Hop flat structure where `` sits at the
transform level — a location the current `@HopMetadataProperty`-driven
deserializer no longer reads for this transform.
Key files involved:
| File | Relevance |
|---|---|
|
`plugins/misc/import/src/main/java/org/apache/hop/imports/kettle/KettleImport.java`
| Importer — does not remap `` into `` for
`CombinationLookup` |
|
`plugins/transforms/combinationlookup/src/main/java/org/apache/hop/pipeline/transforms/combinationlookup/CFields.java`
| Metadata model — owns `sequenceFrom` under `` |
|
`plugins/transforms/combinationlookup/src/main/java/org/apache/hop/pipeline/transforms/combinationlookup/CombinationLookupMeta.java`
| Transform meta — no fallback to read `` from transform level |
---
### Expected behavior
After Kettle import, the sequence name is shown in the Hop GUI without any
manual intervention.
The fix should be **one or both** of:
1. **Importer fix:** for `CombinationLookup` transforms, move
transform-level `` into `` during import.
2. **Backward-compat loading:** `CombinationLookupMeta` reads ``
from the transform level as a fallback when `` is absent, so
that both already-imported files and future imports are handled correctly.
---
### Additional notes
- The same issue likely affects `last_update_field` on import (also emitted
at the transform level by the importer, expected under
`` by the current model).
- This is a **silent** regression: the file looks correct, the import
reports success, but configuration is silently ignored at load time.
- The existing unit test fixture
`plugins/transforms/combinationlookup/src/test/resources/combination-lookup-transform.xml`
also places `` at the transform level. A test covering a non-empty
sequence value would have caught this.
### Issue Priority
Priority: 2
### Issue Component
Component: Hop Gui
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]