java.lang.Object
org.jgroups.stack.Protocol
org.jgroups.protocols.raft.NO_DUPES
- All Implemented Interfaces:
org.jgroups.Lifecycle
public class NO_DUPES
extends org.jgroups.stack.Protocol
Intercepts JOIN and MERGE requests on the coordinator and rejects members whose addition would lead to members
with duplicate raft-ids in the view.
Every member's address must be an ExtendedUUID and have a "raft-id" key whose value
is the raft-id. When intercepting a JOIN request whose sender has a raft-id that's already in the view, we send
back a JoinRsp with a rejection message.
AUTH.- Since:
- 0.2
- Author:
- Bela Ban
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected static final shortprotected org.jgroups.ViewFields inherited from class org.jgroups.stack.Protocol
after_creation_hook, down_prot, ergonomics, id, local_addr, log, policies, stack, stats, up_prot -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected static booleancontains(org.jgroups.View v, org.jgroups.util.ExtendedUUID joiner) down(org.jgroups.Event evt) protected booleanhandleGmsHeader(org.jgroups.protocols.pbcast.GMS.GmsHeader hdr, org.jgroups.Address sender) protected voidsendJoinRejectedMessageTo(org.jgroups.Address joiner, String reject_message) up(org.jgroups.Message msg) voidup(org.jgroups.util.MessageBatch batch) Methods inherited from class org.jgroups.stack.Protocol
accept, addPolicy, addr, addr, afterCreationHook, destroy, down, down, enableStats, getAddress, getComponents, getDownProtocol, getDownServices, getId, getIdsAbove, getLevel, getLog, getName, getPolicies, getProtocolStack, getSocketFactory, getThreadFactory, getTransport, getUpProtocol, getUpServices, getValue, init, isErgonomics, level, parse, policies, providedDownServices, providedUpServices, removePolicy, requiredDownServices, requiredUpServices, resetStatistics, resetStats, setAddress, setDownProtocol, setErgonomics, setId, setLevel, setPolicies, setProtocolStack, setSocketFactory, setUpProtocol, setValue, start, statsEnabled, stop, toString, up
-
Field Details
-
gms_id
protected static final short gms_id -
view
protected volatile org.jgroups.View view
-
-
Constructor Details
-
NO_DUPES
public NO_DUPES()
-
-
Method Details
-
down
- Overrides:
downin classorg.jgroups.stack.Protocol
-
up
- Overrides:
upin classorg.jgroups.stack.Protocol
-
up
public void up(org.jgroups.util.MessageBatch batch) - Overrides:
upin classorg.jgroups.stack.Protocol
-
handleGmsHeader
protected boolean handleGmsHeader(org.jgroups.protocols.pbcast.GMS.GmsHeader hdr, org.jgroups.Address sender) - Returns:
- True if the message should be passed up, false if it should be discarded
-
contains
protected static boolean contains(org.jgroups.View v, org.jgroups.util.ExtendedUUID joiner) -
sendJoinRejectedMessageTo
-