Description
Artem:
DCP_GET_FAILOVER_LOG over non DCP connection
This command is used in _pre_replicate handler for xdcr, and we have to open DCP producer connection just to get the failover log (and keep a pool of those just for this command only).
Is it possible to introduce a command that does the same but works via regular connection like the one we create in ns_memcached:connect ?
Trond:
I don't see any reason why not
(I actually don't see any reason why the DCP_GET_FAILOVER_LOG should be bound to an open DCP connection in the first place, as it isn't bound to the internal state of the dcp stream. The documentation ( https://github.com/couchbaselabs/dcp-documentation/blob/master/documentation/commands/failover-log.md ) doesn't even mention that it needs to be an open DCP stream, but the implementation does check for it).
Dave Rigby:
I’ve looked at the code and the only reason I can see why it requires a DCP Producer stream is because it wouldn’t make sense to ask a a Consumer stream for a failover log - however that’s somewhat of an academic distinction.
I can’t see any issue in adding support for asking for the failover log without a DCP connection.
@Artem: Please could you raise an improvement MB with exactly what you’d like the standalone “get failover log” command to do - and how soon you need this for.
Attachments
Issue Links
- blocks
-
MB-28581 remove xdcr_dcp_streamer when MB-28289 is resolved
- Closed