[zeromq-dev] 12/CHP - Clustered Hashmap Protocol ...
Marten Feldtmann
itlists at schrievkrom.de
Thu Apr 11 14:32:33 CEST 2013
Hey,
I'm trying to implement this protocol and have some question regarding
to the protocol:
a) The client has a subscriber connection to the server. Should the
"subtree specification" used in the state synchronization set as a
filter in the subscriber connection - otherwise the client get all
changes, though it initially mentioned to be interested only in a
subtree of the overall hashmap ?
That would also indicate, that commands "KVPUB" and "KVSET" must follow
this way ...
And to get the HUGZ command one must set at least two filter
informations on the subscriber channel.
Without these filters the clients may get equally named keys from
different subtrees and can not decide, what the correct one is.
b) A problematic situation arrises when switching from state
synchronization to "normal subscriber message receiving". There is a
possible gap, where a message (suitable for this client comes in) can
get lost. The client may close the snapshot socket and opens the
subscriber socket - but perhaps too late and it does not get the message
mentioned above.
A solution might be, that the client subscribes to the server before it
does a state synchronization - he may get additional messages but
nothing gets lost.
c) KTHXBAI-Command: Would it better, if the server sends its actual
sequence number and not the one he uses in KVSYNC commands. Then the
client know, what he can throw away and it knows its server
corresponding sequence number.
d) "HUGZ" command - should the "Frame 1" be better described as "8 bytes
all filled with numeric value 0".
Any comments about these ideas ?
More information about the zeromq-dev
mailing list