-
Type: Improvement
-
Resolution: Done
-
Priority: Major - P3
-
Affects Version/s: 3.0.4, 3.1.5
-
Component/s: Replication
-
None
-
Fully Compatible
-
RPL 6 07/17/15
-
0
This was not a problem until recently, as the producer thread would wait for all ops to be applied before looking for a new sync source (last fetched == last applied). However, to resolve a potential deadlock between the producer thread and applier thread, that wait was removed.
As a result, a node could have ops in its buffer when it choose a new sync source, apply those ops, and then receive those recently applied ops from its sync source which would cause the node to rollback and fassert.