Details
-
Bug
-
Resolution: Fixed
-
Major
-
7.2.0
-
Untriaged
-
0
-
No
-
KV 2023-2
Description
As identified while implementing MB-54853, the DCP StreamRequest command does not validate that the specified flags are valid - we simply ignore unknown flags and return success (assuming the request is otherwise valid).
As a result, a DCP client requesting a "new" feature (not part of the original base flag set from CB 3.0) may think it has enabled some feature, when in fact KV-Engine has just ignored it.
I believe this has occurred as we do validate flags passed to the sibling DCP AddStream command (which is used to start a stream on a consumer node). As such while DCP replication streams effectively do have their flags validated (as they are always created via an AdddStream sent by ns_server to the consumer), this is not the case for other, non-replication clients (XDCR, GSI, Kafka Connector, ...)