If the timing of a "seqno-ack" from consumer to producer is just right, it can find that the active vbucket has been deleted, the producer will respond to the consumer with "not-my-vbucket". The consumer will receive the response packet and error as follows:
The error happens because "mcbp" has no response handler configured for this opcode. This forces a disconnect of replication, which will fail a rebalance.
Clearly from the code, a seqno-ack can generate a response and we should gracefully handle them to avoid unexpected disconnects and rebalance failure.
|For Gerrit Dashboard: MB-42256|
|139100,2||MB-42256: Handle seqno ack responses||master||kv_engine||Status: ABANDONED||0||0|
|139108,6||MB-42256: Handle seqno ack responses||mad-hatter||kv_engine||Status: MERGED||+2||+1|
|140025,3||Merge branch mad-hatter into master||master||kv_engine||Status: MERGED||+2||+1|