A "lease denied" response from the
ClientTransport 's
ModifyService , indicating to the
LeaseManager a failed bind or lease renewal.
The UID will match the UID of the Record that has been denied.
Currently this can only be caused by server-side deconfliction
over race conditions, primarily based upon agent incarnation
numbers.
For example, say AgentX moves from NodeA to NodeB.
The following binds may be in progress:
NodeA sends:
AgentX={..., version=version:///1234/5678, ...}
NodeB sends:
AgentX={..., version=version:///1234/9999, ...}
The format of the version entry URI is:
version:///incarnation/moveId
where the incarnation number is incremented per restart
(excluding moves) and the moveId is incremented per move
or restart (i.e. every time the agent is loaded).
The white pages servers will prefer the latest entries,
so it will deny NodeA's lease request.
Currently (see
Record ) this doesn't support bind-only
failures due to "already bound" entries. The javadocs in
Record describe a proposed Map of failed-binds.
|