@PrivateApi public class DefaultNodeExtension extends Object implements NodeExtension
Modifier and Type | Field and Description |
---|---|
protected List<ClusterVersionListener> |
clusterVersionListeners |
protected ILogger |
logger |
protected Node |
node |
protected ILogger |
systemLogger |
Constructor and Description |
---|
DefaultNodeExtension(Node node) |
Modifier and Type | Method and Description |
---|---|
void |
afterStart()
Called after node is started
|
void |
beforeJoin()
Called before node attempts to join to the cluster
|
void |
beforeShutdown()
Called before Node.shutdown()
|
void |
beforeStart()
Called before node is started
|
Map<String,Object> |
createExtensionServices()
Creates additional extension services, which will be registered by
service manager during start-up.
|
String |
createMemberUuid(Address address)
Creates a UUID for local member
|
ReadHandler |
createReadHandler(TcpIpConnection connection,
IOService ioService)
Creates a ReadHandler for given Connection instance.
|
InternalSerializationService |
createSerializationService()
Creates a SerializationService instance to be used by this Node.
|
<T> T |
createService(Class<T> clazz)
Creates a service which is an implementation of given type parameter.
|
WriteHandler |
createWriteHandler(TcpIpConnection connection,
IOService ioService)
Creates a WriteHandler for given Connection instance.
|
ClusterHotRestartStatusDTO |
getCurrentClusterHotRestartStatus()
Returns latest Hot Restart status as Management Center DTO.
|
Set<String> |
getExcludedMemberUuids()
Returns uuids of the members that have been excluded during the cluster start.
|
HotRestartService |
getHotRestartBackupService()
Returns the hot restart data backup service or null if Hot Restart backup is not available (not EE) or not enabled
|
MemberSocketInterceptor |
getMemberSocketInterceptor()
Returns MemberSocketInterceptor for this Node if available,
otherwise returns null.
|
MemoryStats |
getMemoryStats()
Returns MemoryStats of for the JVM and current HazelcastInstance.
|
protected PartitioningStrategy |
getPartitioningStrategy(ClassLoader configClassLoader) |
SecurityContext |
getSecurityContext()
Returns SecurityContext for this Node if available, otherwise returns null.
|
SocketChannelWrapperFactory |
getSocketChannelWrapperFactory()
Returns SocketChannelWrapperFactory instance to be used by this Node.
|
void |
handleExcludedMemberUuids(Address sender,
Set<String> excludedMemberUuids)
Handles the uuid set of excluded members only if this member is also excluded, and triggers the member force start process.
|
boolean |
isMemberExcluded(Address memberAddress,
String memberUuid)
Checks if the given member has been excluded during the cluster start or not.
|
boolean |
isNodeVersionCompatibleWith(ClusterVersion clusterVersion)
Check if this node's codebase version is compatible with given cluster version.
|
boolean |
isStartCompleted()
Returns true if the instance has started
|
void |
onClusterStateChange(ClusterState newState,
boolean isTransient)
Called when cluster state is changed
|
void |
onClusterVersionChange(ClusterVersion newVersion)
Called after cluster version is changed.
|
void |
onPartitionStateChange()
Called when partition state (partition assignments, version etc) changes
|
void |
onThreadStart(Thread thread)
Called on thread start to inject/intercept extension specific logic,
like; registering thread in some service,
executing a special method before thread starts to do its own task.
|
void |
onThreadStop(Thread thread)
Called before a thread stops to clean/release injected by
NodeExtension.onThreadStart(Thread) . |
void |
printNodeInfo()
Called to print node information during startup
|
boolean |
registerListener(Object listener)
Registers given listener if it's a known type.
|
void |
resetHotRestartData()
Resets local hot restart data and gets a new uuid, if the local node hasn't completed the start process and
it is excluded in cluster start.
|
void |
shutdown()
Shutdowns NodeExtension.
|
boolean |
triggerForceStart()
Forces node to start by skipping hot-restart completely and removing all hot-restart data
even if node is still on validation phase or loading hot-restart data.
|
boolean |
triggerPartialStart()
Triggers partial start if the cluster cannot be started with full recovery and
HotRestartPersistenceConfig.clusterDataRecoveryPolicy is set accordingly. |
void |
validateJoinRequest(JoinMessage joinMessage)
Executed on the master node before allowing a new member to join from
ClusterJoinManager.handleJoinRequest(JoinRequest, Connection) . |
protected final Node node
protected final ILogger logger
protected final ILogger systemLogger
protected final List<ClusterVersionListener> clusterVersionListeners
public DefaultNodeExtension(Node node)
public void beforeStart()
NodeExtension
beforeStart
in interface NodeExtension
public void printNodeInfo()
NodeExtension
printNodeInfo
in interface NodeExtension
public void beforeJoin()
NodeExtension
beforeJoin
in interface NodeExtension
public void afterStart()
NodeExtension
afterStart
in interface NodeExtension
public boolean isStartCompleted()
NodeExtension
isStartCompleted
in interface NodeExtension
public SecurityContext getSecurityContext()
NodeExtension
getSecurityContext
in interface NodeExtension
public InternalSerializationService createSerializationService()
NodeExtension
createSerializationService
in interface NodeExtension
protected PartitioningStrategy getPartitioningStrategy(ClassLoader configClassLoader) throws Exception
Exception
public <T> T createService(Class<T> clazz)
NodeExtension
createService
in interface NodeExtension
clazz
- type of servicepublic Map<String,Object> createExtensionServices()
NodeExtension
createExtensionServices
in interface NodeExtension
public MemberSocketInterceptor getMemberSocketInterceptor()
NodeExtension
getMemberSocketInterceptor
in interface NodeExtension
public SocketChannelWrapperFactory getSocketChannelWrapperFactory()
NodeExtension
getSocketChannelWrapperFactory
in interface NodeExtension
public ReadHandler createReadHandler(TcpIpConnection connection, IOService ioService)
NodeExtension
createReadHandler
in interface NodeExtension
connection
- tcp-ip connectionioService
- IOServicepublic WriteHandler createWriteHandler(TcpIpConnection connection, IOService ioService)
NodeExtension
createWriteHandler
in interface NodeExtension
connection
- tcp-ip connectionioService
- IOServicepublic void onThreadStart(Thread thread)
NodeExtension
onThreadStart
in interface NodeExtension
thread
- thread startingpublic void onThreadStop(Thread thread)
NodeExtension
NodeExtension.onThreadStart(Thread)
.onThreadStop
in interface NodeExtension
thread
- thread stoppingpublic MemoryStats getMemoryStats()
NodeExtension
getMemoryStats
in interface NodeExtension
public void beforeShutdown()
NodeExtension
beforeShutdown
in interface NodeExtension
public void shutdown()
NodeExtension
shutdown
in interface NodeExtension
public void validateJoinRequest(JoinMessage joinMessage)
NodeExtension
ClusterJoinManager.handleJoinRequest(JoinRequest, Connection)
.
Implementation should check if the JoinMessage
should be allowed to proceed, otherwise throw an exception
with a message explaining rejection reason.validateJoinRequest
in interface NodeExtension
public void onClusterStateChange(ClusterState newState, boolean isTransient)
NodeExtension
onClusterStateChange
in interface NodeExtension
newState
- new stateisTransient
- status of the change. A cluster state change may be transient if it has been done temporarily
during system operations such cluster start etc.public void onPartitionStateChange()
NodeExtension
onPartitionStateChange
in interface NodeExtension
public void onClusterVersionChange(ClusterVersion newVersion)
NodeExtension
onClusterVersionChange
in interface NodeExtension
newVersion
- the new version at which the cluster operates.public boolean isNodeVersionCompatibleWith(ClusterVersion clusterVersion)
NodeExtension
isNodeVersionCompatibleWith
in interface NodeExtension
clusterVersion
- the cluster version to check againsttrue
if compatible, otherwise false.public boolean registerListener(Object listener)
NodeExtension
registerListener
in interface NodeExtension
listener
- listener instancepublic boolean triggerForceStart()
NodeExtension
triggerForceStart
in interface NodeExtension
public boolean triggerPartialStart()
NodeExtension
HotRestartPersistenceConfig.clusterDataRecoveryPolicy
is set accordingly.triggerPartialStart
in interface NodeExtension
public HotRestartService getHotRestartBackupService()
NodeExtension
getHotRestartBackupService
in interface NodeExtension
public String createMemberUuid(Address address)
NodeExtension
createMemberUuid
in interface NodeExtension
address
- address of local memberpublic boolean isMemberExcluded(Address memberAddress, String memberUuid)
NodeExtension
isMemberExcluded
in interface NodeExtension
memberAddress
- address of the member to checkmemberUuid
- uuid of the member to checkpublic Set<String> getExcludedMemberUuids()
NodeExtension
getExcludedMemberUuids
in interface NodeExtension
public void handleExcludedMemberUuids(Address sender, Set<String> excludedMemberUuids)
NodeExtension
handleExcludedMemberUuids
in interface NodeExtension
sender
- the member that has sent the excluded members setexcludedMemberUuids
- uuids of the members that have been excluded during the cluster startpublic ClusterHotRestartStatusDTO getCurrentClusterHotRestartStatus()
NodeExtension
getCurrentClusterHotRestartStatus
in interface NodeExtension
public void resetHotRestartData()
NodeExtension
resetHotRestartData
in interface NodeExtension
Copyright © 2016 Hazelcast, Inc.. All Rights Reserved.