-
Type: Bug
-
Resolution: Unresolved
-
Priority: Major - P3
-
Affects Version/s: None
-
Component/s: Replication
-
None
-
Replication
-
ALL
When a node changes state normally (most notably from an election) it disconnects all sockets partly to ensure the change of state is noticed. However, when a Secondary enters RECOVERY mode due to a compact command, it does not close existing sockets.
Clients using secondaryPreferred continue to utilize the node as a normal secondary (operations either get blocked or return a failure due to "not primary or secondary") but new clients do not attempt to issue queries because the invalid state is detected.
If the change in state means that normal client operations cannot proceed, the sockets should be reset, as is the case for elections.