New sequence clipping behavior seems to broke sourcing from memory streams #6005
-
We currently have NATS configuration, when a server stream TST is sourced from a stream SST from a leaf-node. Our leaf-node is busy by i/o from other components of our product, so we are using in-memory stream storage on the leaf-node to avoid additional i/o load. Previously (NATS v2.10.12) this configuration was very reliable to sourced memory stream TST recreations (e.g. due to leaf-node server restarts). Moreover, the same behavior also applies not only for memory streams. For instance, when a sourced server unexpectedly shuts down, the last block of the sourced stream SST can be lost due to not being flushed on the disk. As a results, the source consumer is stalling again until the sourced stream catches up its sequence. So, it seems that new clipping behavior may be not applicable for source consumers that should be reliable. |
Beta Was this translation helpful? Give feedback.
Replies: 2 comments
-
We've reverted the behaviour in #6014, which will go into 2.10.22, and will rethink how to satisfy both use cases in 2.11. |
Beta Was this translation helpful? Give feedback.
-
Just for info, the reverted behavior solves also the similar issue i opened here in case a sourced stream is manually deleted and recreated. This can happen when you source stream for other accounts that you are not controlling directly |
Beta Was this translation helpful? Give feedback.
We've reverted the behaviour in #6014, which will go into 2.10.22, and will rethink how to satisfy both use cases in 2.11.