You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hop.apache.org by "mattcasters (via GitHub)" <gi...@apache.org> on 2026/10/11 15:57:21 UTC

[PR] Issue #8863 : Write the parent execution link when a child starts (hop)

mattcasters opened a new pull request, #8865:
URL: https://github.com/apache/hop/pull/8865

   A child pipeline or workflow was stored with the action's log channel id as its parent. Opening that parent meant scanning other execution documents. The execution perspective did that scan while it refreshed, and it also loaded each row's full JSON document, including the pipeline XML and sample rows.
   
   The link is written when the child starts. `parentId` is the workflow or pipeline that owns the execution. `launchedById` is the action or transform that started it, and that launcher records the child id. A later save of the parent keeps child ids written by the other location instance. File and database content scans are gone. Go up opens `parentId`. Drill down reads the stored child ids.
   
   The execution tree lists from the summary columns (name, type, dates, failed, status). The stored document is loaded when a row is opened. Refresh shows the wait cursor on the tree and toolbar while that list loads.
   
   `002-workflow-pipeline-mapping` checks that `findParentId` returns the parent workflow and that `findExecutions(launchedById)` returns the pipeline. `ExecInfo` includes `launchedById` on execution rows. The workflow finished with result true against the new engine and ExecInfo jars.
   
   fixes #8863
   
   ------------------------
   
   Thank you for your contribution! Follow this checklist to help us incorporate your contribution quickly and easily:
   - [ ] Run `mvn clean install apache-rat:check` to make sure basic checks pass. A more thorough check will be performed on your pull request automatically.
   - [x] If you have a group of commits related to the same change, please squash your commits into one and force push your branch using `git rebase -i`.
   - [x] Mention the appropriate issue in your description (for example: `addresses #123`), if applicable.
   
   To make clear that you license your contribution under the [Apache License Version 2.0, January 2004](http://www.apache.org/licenses/LICENSE-2.0)
   you have to acknowledge this by using the following check-box.
   
   - [x] I hereby declare this contribution to be licensed under the [Apache License Version 2.0, January 2004](http://www.apache.org/licenses/LICENSE-2.0)
   - [ ] In any other case, please file an [Apache Individual Contributor License Agreement](https://www.apache.org/licenses/icla.pdf).
   


-- 
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: issues-unsubscribe@hop.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] Issue #8863 : Write the parent execution link when a child starts (hop)

Posted by "hansva (via GitHub)" <gi...@apache.org>.
hansva commented on PR #8865:
URL: https://github.com/apache/hop/pull/8865#issuecomment-6144313367

   Requesting changes. The idea is right, and the DB summary listing is a clear win. Unit tests pass locally (57), but none register the parent and the child through separate location instances, which is the real-world setup.
   
   **Must fix**
   
   1. **File and Neo4j locations can no longer find a child from its action or transform.** `parentId` now means the owning workflow/pipeline, but only the caching locations also match `launchedById`. `FileExecutionInfoLocation.findExecutions` still matches `parentId` only. Neo4j never stores `launchedById`, and its relationship now runs workflow→pipeline. On these locations the following return nothing: execution info for an action/transform from the workflow/pipeline graph (`HopGuiWorkflowGraph:6032`, `HopGuiPipelineGraph:7806`), viewer drill-down, ExecInfo *FindExecutions*, and the REST/servlet child lookups. Either update both locations, or keep `parentId` as it was and add a new field for the owner.
   
   2. **Children started by transforms usually don't get the stored link.** Each executor has its own location instance, and `rememberLaunchedChild` looks for the launcher in the parent document on disk. Local pipelines are single-writer, so their transforms only reach disk on the 5 s timer. A Pipeline/Workflow Executor or mapping that starts a child early finds no launcher, and the link is skipped without a log line. Drill-down then falls back to the full `findExecutions` scan. Workflow actions are fine, since the parent document is written right before the action runs. Suggestion: when the launcher is missing, write a minimal launcher entry with the child id; the parent's next save already merges child ids from disk. Please add a test with two location instances.
   
   **DB location regressions (summary rows)**
   
   3. *Copy filename* / *Copy relative filename* are always disabled: the row has no filename (`ExecutionPerspective:1376`). Load the full execution on click.
   4. Listed rows get `updateTime = null`, and `isStale()` treats null as fresh, so a run whose process died shows as running forever. One option: load the state only for unfinished rows.
   
   **Compatibility**
   
   5. ExecInfo inserts `launchedById` in the middle of its output row, shifting every later field; please append it at the end. `findParentId` / *FindParentId* now returns the workflow instead of the action, which needs a release note.
   
   **Minor**
   
   - Saving merges child ids by reading the document first, but two instances writing at the same moment can still lose an id.
   - The child's instance now caches the parent document, so the state-update fallback `findCacheEntryWithParent` can match the parent. It's only reachable when the child's own entry can't be found.
   


-- 
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: issues-unsubscribe@hop.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] Issue #8863 : Write the parent execution link when a child starts (hop)

Posted by "mattcasters (via GitHub)" <gi...@apache.org>.
mattcasters merged PR #8865:
URL: https://github.com/apache/hop/pull/8865


-- 
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: issues-unsubscribe@hop.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org