Repeated output port registration starts duplicate storage writers
- Dominant language
- Scala
- Stars
- 314
- Forks
- 187
- Avg merge
- 1d 21h
- Merged PRs (30d)
- 214
Description
### Feature Summary
OutputManager starts result and state storage writers before checking whether an output port has already been registered. Replaying the same port assignment therefore starts another writer pair and overwrites the tracked registry entries, while the original threads remain untracked by normal close logic.
Before: one registered port produces two storage setup calls when the assignment is repeated.
After: port schema and storage writers are initialized together only on the first registration.
Reproduction evidence:
1. Create an OutputManager.
2. Add output port 0 with a storage URI.
3. Add the same logical port and URI again.
4. Observe that only one port exists.
5. Observe that set_up_port_storage_writer was called twice.
Version and commit evidence:
1.3.0-incubating-SNAPSHOT (main)
**Commit Hash (Optional)**
70c21145887920528d7d5540e3fb790b43e8b759
## Relevant log output
registered_ports=1
storage_setup_calls=2
### Proposed Solution or Design
After: port schema and storage writers are initialized together only on the first registration.
### Affected Area
Workflow Engine (Amber)
Contributor guide
Assessment
This issue has not been assessed yet.