Details
-
Improvement
-
Resolution: Won't Do
-
Minor
-
None
-
None
-
1
Description
In MB-31869 we tried to remove the DCP buffering but we had to step back. Reason is that ns_server needs to be able to send DCP (non-data) messages (eg, AddStream, CloseStream, ..) at any time, so we cannot allow a DCP Consumer to saturate the socket inbound buffer. See MB-31869 for details.
All the above may be resolved if the DCP protocol allowed to split the "control" messages and the data messages over two dedicated physical connections. Eg for setting up a stream, from the PoV of the DCP client that would be:
- open ControlConnection
- open DataConnection
- send AddStream to the consumer-side on ControlConnection - at this point this step should trigger a StreamReq consumer->producer over DataConnection
- <data flows over DataConnection>
That would allow again to get rid of the DCP buffering in KV, as no problem on saturating the Data link.
What described cannot be achieved with the current DCP design.
Attachments
Issue Links
- is triggered by
-
MB-31869 Remove DCPConsumer internal buffer
- Closed