Details
-
Improvement
-
Resolution: Unresolved
-
Major
-
7.0.0
-
0
Description
Consider 2 buckets (bucket_a and bucket_b)
On a receiving a rollback during indexer recovery for stream on `bucket_a`, while the Indexer main loop remains unblocked, the storage manager main loop is busy performing rollback of indices.
While this is happening, stream for `bucket_b` could start the flush and we will send a `MUT_MGR_FLUSH_DONE` to indexer which is then forwarded to StorageMgr. This will block the indexer main loop until rollback is not finished.
This causes new expected rebalance request (on eg: recovery from failover) to timeout as indexer main loop cannot process messages sent by RebalanceServiceManager until the rollback is finished.