Duplicate output port starts replacement storage writers
- Dominant language
- Scala
- Stars
- 314
- Forks
- 187
- Avg merge
- 1d 21h
- Merged PRs (30d)
- 214
Description
### Feature Summary
Registering an output port a second time correctly keeps the first port object, but starts replacement result and state storage writers before checking for the duplicate. The new writer references overwrite the old entries, leaving the original writer threads running and potentially writing to stale storage.
Expected behavior: duplicate output-port registration does not start another writer set.
Before: one registered port starts two writer sets
After: one registered port keeps its original writer set
Reproduction evidence:
Add the same output port twice with storage URIs and observe that `set_up_port_storage_writer` is called twice although only one port remains registered.
Version and commit evidence:
1.3.0-incubating-SNAPSHOT on main
**Commit Hash (Optional)**
50321e403c82df299a13deb50a7f9849dd93bdba
**Browsers**
Not browser specific
**Relevant log output**
One output port is registered while two storage writer sets are started.
### Proposed Solution or Design
Expected behavior: duplicate output-port registration does not start another writer set.
After: one registered port keeps its original writer set
### Affected Area
Workflow Engine (Amber)
Contributor guide
Assessment
This issue has not been assessed yet.