Details
-
Bug
-
Resolution: Fixed
-
Critical
-
5.0.0
-
Triaged
-
No
Description
Not all DCP clients implement NOOP support. This means KV engine has a hard time detecting if such clients are hung / unresponsive. We take a conservative approach and don't forcibly disconnect anyone. But this can lead to various problems if clients misbehave. e.g.
MB-23161- client has failed to drain our send buffer and we fail to delete a bucket.MB-22488- several hung backup clients caused view indexing to hang.
This ticket is to find a way to make KV Engine more resilient to such client behaviour. Some potentials include:
- Make DCP NOOP mandatory (might be too much effort for clients / horse may have already bolted on this one)
- Force clients to support NOOP as they adopt new features (e.g XATTRS / Collections) so the situation improves over time.
- Have our own internal watchdog that monitors and aggressively disconnects unresponsive non-NOOP clients.