aglinxinyuan opened a new pull request, #6146:
URL: https://github.com/apache/texera/pull/6146

   ### What changes were proposed in this PR?
   
   Extends `OutputManagerSpec` to cover currently-untested pure-JVM branches of 
`OutputManager` (amber messaging layer), reusing the spec's existing 
fake-`NetworkOutputGateway` harness — no actor system, DB, or storage backend:
   
   - `object OutputManager.toPartitioner` / `getBatchSize` for all five 
partitioning kinds (OneToOne / RoundRobin / HashBasedShuffle / 
RangeBasedShuffle / Broadcast) plus the `RuntimeException` defaults;
   - `passTupleToDownstream` with `Some(portId)` (routes only to that port) vs 
`None` (broadcast);
   - `flush(Some(channelIds))` flushing only matching buffers;
   - `emitState` fanning a `State` to every network buffer;
   - `addPort` idempotency, the no-storage-writer path, 
`saveTupleToStorageIfNeeded` / `closeOutputStorageWriterIfNeeded` no-ops over 
empty writer maps, and `getSingleOutputPortIdentity` (single vs multi-port).
   
   The storage-writer-populated leg needs real Iceberg/LakeFS and is left to 
the integration suite. No production code changed.
   
   ### Any related issues, documentation, discussions?
   
   Coverage gaps identified from the Codecov report for `apache/texera` (amber 
module coverage push toward 80%).
   
   ### How was this PR tested?
   
   ```
   sbt "WorkflowExecutionService/testOnly *OutputManagerSpec"
   ```
   
   All 17 pass. `scalafmt` and `scalafixAll --check` are clean.
   
   ### Was this PR authored or co-authored using generative AI tooling?
   
   Generated-by: Claude Code (Opus 4.8 [1M context])
   


-- 
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]

Reply via email to