Package com.tangosol.net.partition
Class PartitionEvent
- java.lang.Object
-
- java.util.EventObject
-
- com.tangosol.net.partition.PartitionEvent
-
- All Implemented Interfaces:
Serializable
public class PartitionEvent extends EventObject
The PartitionEvent carries information about an event related to one or more partitions.- Since:
- Coherence 3.3
- Author:
- cp 2007.05.18
- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description protected Memberm_memberFromThe "from" member for events that represent transfer from a member.protected Memberm_memberToThe "to" member for events that represent transfer to a member.protected intm_nIdThe event's id.protected PartitionSetm_setPartitionsThe set of affected partitions.static intPARTITION_ASSIGNEDThis event indicates that the ownership of one or more partitions have been assigned to a service member.static intPARTITION_LOSTThis event indicates that one or more partitions have been lost.static intPARTITION_RECEIVE_BEGINThis event indicates that a transfer for one or more partitions is beginning and the data that belongs to partitions in the specified partition set are about to be inserted into corresponding backing maps.static intPARTITION_RECEIVE_COMMITThis event indicates that a transfer for one or more partitions has completed and the data that belong to these partitions have been inserted into corresponding backing maps.static intPARTITION_RECOVEREDThis event indicates that one or more partitions have been recovered by a service member.static intPARTITION_TRANSMIT_BEGINThis event indicates that data that belong to one or more partitions are about to be transferred to a different member.static intPARTITION_TRANSMIT_COMMITThis event indicates that data that belong to one or more partitions have been successfully transferred to a different member and all the data for that partition have been removed from this node.static intPARTITION_TRANSMIT_ROLLBACKThis event indicates that a transfer for one or more partitions has been aborted (e.g. receiver's failure), and the partitions are now "owned" by this node again, and are about to be unfrozen.-
Fields inherited from class java.util.EventObject
source
-
-
Constructor Summary
Constructors Constructor Description PartitionEvent(PartitionedService svc, int nId, PartitionSet setPartitions, Member memberFrom, Member memberTo)Construct a partition event.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description protected StringgetDescription()Get the event's description.static StringgetDescription(int nId)Convert an event ID into a human-readable string.MembergetFromMember()Determine the member that held the partitions prior to the action represented by this event.intgetId()Return this event's id.PartitionSetgetPartitionSet()Determine the set of partitions represented by this event.PartitionedServicegetService()Determine the partitioned service that this event originates from.MembergetToMember()Determine the member that holds the partitions after the action represented by this event.StringtoString()Return a String representation of this PartitionEvent object.-
Methods inherited from class java.util.EventObject
getSource
-
-
-
-
Field Detail
-
PARTITION_LOST
public static final int PARTITION_LOST
This event indicates that one or more partitions have been lost. When a partition is lost, its ownership is re-assigned to an existing member, on which this event is then raised. By default, the partition is assigned to the senior ownership-enabled member running the partitioned service. For the PARTITION_LOST event, the partition set and "to member" will always be non-null.As of Coherence 3.6, a restart of an ownership-enabled member after the loss of all ownership-enabled members is indistinguishable from a fresh service start. In such a scenario, the PARTITION_ASSIGNED event is raised.
- Since:
- Coherence 3.3
- See Also:
- Constant Field Values
-
PARTITION_TRANSMIT_BEGIN
public static final int PARTITION_TRANSMIT_BEGIN
This event indicates that data that belong to one or more partitions are about to be transferred to a different member. When this event is raised, the partitions have been frozen (no changes can occur to data managed within that partitions) and they have been "unowned".- Since:
- Coherence 3.5
- See Also:
- Constant Field Values
-
PARTITION_TRANSMIT_COMMIT
public static final int PARTITION_TRANSMIT_COMMIT
This event indicates that data that belong to one or more partitions have been successfully transferred to a different member and all the data for that partition have been removed from this node.- Since:
- Coherence 3.5
- See Also:
- Constant Field Values
-
PARTITION_TRANSMIT_ROLLBACK
public static final int PARTITION_TRANSMIT_ROLLBACK
This event indicates that a transfer for one or more partitions has been aborted (e.g. receiver's failure), and the partitions are now "owned" by this node again, and are about to be unfrozen.- Since:
- Coherence 3.5
- See Also:
- Constant Field Values
-
PARTITION_RECEIVE_BEGIN
public static final int PARTITION_RECEIVE_BEGIN
This event indicates that a transfer for one or more partitions is beginning and the data that belongs to partitions in the specified partition set are about to be inserted into corresponding backing maps. When this is event is raised, this node is not yet an owner for these partitions.Note: if this event is raised as a result of a recovery from the backup during failover, the "member from" property will be null.
- Since:
- Coherence 3.5
- See Also:
- Constant Field Values
-
PARTITION_RECEIVE_COMMIT
public static final int PARTITION_RECEIVE_COMMIT
This event indicates that a transfer for one or more partitions has completed and the data that belong to these partitions have been inserted into corresponding backing maps. This event is raised immediately before this node becomes the partition owner.Note: if this event is raised as a result of a recovery from the backup during failover, the "member from" property will be null.
- Since:
- Coherence 3.5
- See Also:
- Constant Field Values
-
PARTITION_ASSIGNED
public static final int PARTITION_ASSIGNED
This event indicates that the ownership of one or more partitions have been assigned to a service member. Partitions are initially assigned when the first ownership-enabled member joins the service, at which time this event is raised. By default, the partition is assigned to the senior ownership-enabled member running the partitioned service. For the PARTITION_ASSIGNED event, the partition set and "to member" will always be non-null.- Since:
- Coherence 3.6
- See Also:
- Constant Field Values
-
PARTITION_RECOVERED
public static final int PARTITION_RECOVERED
This event indicates that one or more partitions have been recovered by a service member. Partitions are recovered from persistent storage when neither the primary nor any backup owners exist (e.g. during service startup or following the departure of all owners) and a persistent copy is located by the configured PersistenceEnvironment. For the PARTITION_RECOVERED event, the partition set and "to member" will always be non-null.- Since:
- Coherence 12.1.3
- See Also:
- Constant Field Values
-
m_nId
protected int m_nId
The event's id.
-
m_setPartitions
protected PartitionSet m_setPartitions
The set of affected partitions.
-
m_memberFrom
protected Member m_memberFrom
The "from" member for events that represent transfer from a member.
-
m_memberTo
protected Member m_memberTo
The "to" member for events that represent transfer to a member.
-
-
Constructor Detail
-
PartitionEvent
public PartitionEvent(PartitionedService svc, int nId, PartitionSet setPartitions, Member memberFrom, Member memberTo)
Construct a partition event.- Parameters:
svc- the service raising this eventnId- the event ID, one of the PARTITION_* constantssetPartitions- the set of partitions represented by this event; may be nullmemberFrom- the member that held the partitions prior to the action represented by this event; may be nullmemberTo- the member that holds the partitions after the action represented by this event; may be null
-
-
Method Detail
-
getService
public PartitionedService getService()
Determine the partitioned service that this event originates from.- Returns:
- the originating service
-
getId
public int getId()
Return this event's id. The event id is one of the PARTITION_* enumerated constants.It is expected that new event IDs will be added to subsequent versions. Listener implementations that process partition events should only deal with event objects that have specific, known event IDs, and ignore all others.
- Returns:
- the event id
-
getPartitionSet
public PartitionSet getPartitionSet()
Determine the set of partitions represented by this event.- Returns:
- the PartitionSet containing the partition identifiers represented by this event; may be null
-
getFromMember
public Member getFromMember()
Determine the member that held the partitions prior to the action represented by this event.- Returns:
- the "from" Member for the partitions; may be null
-
getToMember
public Member getToMember()
Determine the member that holds the partitions after the action represented by this event.- Returns:
- the "to" Member for the partitions; may be null
-
getDescription
protected String getDescription()
Get the event's description.- Returns:
- this event's description
-
getDescription
public static String getDescription(int nId)
Convert an event ID into a human-readable string.- Parameters:
nId- an event ID, one of the PARTITION_* enumerated values- Returns:
- a corresponding human-readable string, for example "lost"
-
toString
public String toString()
Return a String representation of this PartitionEvent object.- Overrides:
toStringin classEventObject- Returns:
- a human-readable description of the PartitionEvent
-
-