CTDB - the 'Mainz' plan for clustered Samba
simo
idra at samba.org
Sat Sep 30 14:37:20 GMT 2006
On Sat, 2006-09-30 at 11:07 +1000, an unknown sender wrote:
> CTDB_REQUEST_DMASTER
> --------------------
>
> uint32 DMASTER (VNN of requested new DMASTER)
> uint32 KEYLEN
> uint8 KEY[]
> uint32 DATALEN
> uint8 DATA[]
>
> The CTDB_REQUEST_DMASTER request is unusual in that it is always sent
> to the LMASTER, and may be sent in response to a different request
> from another node. It asks the LMASTER to hand over the DMASTER status
> to another node, along with the current data for the record.
>
> If LMASTER is equal to the requested new DMASTER then no further
> packets need to be sent, as the LMASTER has now become the DMASTER. If
> the requested DMASTER is not equal to the LMASTER then the LMASTER
> will send a CTDB_REPLY_DMASTER to the new requested DMASTER.
>
> This message will have the same REQID as the incoming
> message that triggered it.
>
> CTDB_REPLY_DMASTER
> ------------------
>
> uint32 DATALEN
> uint8 DATA[]
>
> This message always comes from the LMASTER, and tells a node that it
> it is now the DMASTER for a record.
>
> This message will have the same REQID as the incoming
> CTDB_REQUEST_DMASTER that triggered it.
In this snipped you say that REQID is the same as the incoming REQID
that triggered it.
If I understand this correctly it means that hostA sends to hostB
(LMASTER) a CTDB_REQUEST_DMASTER with REQID 100, hostB then sends a
CTDB_REPLY_DMASTER to hostC (the requested DMASTER) with REQID 100.
Now how do you assure that REQID does not conflicts with another request
issued by hostC ? Is there a mechanism to keep REQIDs unique
cluster-wide? (May be using the VNN * 1^X as a base?)
Simo.
--
Simo Sorce
Samba Team GPL Compliance Officer
email: idra at samba.org
http://samba.org
More information about the samba-technical
mailing list