Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  1. recover from one logical channel atomically (output of upstream, input of downstream) and always on one (downstream?) side. Output of upstream should be blocked during recovery (my idea was negative credit while upstream holds more buffers than it should, which would be taken from upstream buffer pool)
  2. join records on-the-fly (maintain some information like subtask id or record id and probably sort by it "channel-id" on sender and receiver)
    (where -> is a boundary; send a marker after all saved buffers of the channel were sent; this will allow downstream to switch to the next upstream (using credit-based flow control))

Retaining subtask indices between restarts

...