
public abstract class ODistributedAbstractPlugin extends OServerPluginAbstract implements ODistributedServerManager, ODatabaseLifecycleListener, OCommandOutputListener
ODistributedServerManager.DB_STATUS, ODistributedServerManager.NODE_STATUSODatabaseLifecycleListener.PRIORITYenabledFILE_DISTRIBUTED_DB_CONFIG| Modifier | Constructor and Description |
|---|---|
protected |
ODistributedAbstractPlugin() |
getContent, onAfterClientRequest, onBeforeClientRequest, onClientConnection, onClientDisconnection, onClientErrorclone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitconvertException, electNewLockManager, getActiveServers, getClusterTime, getConfigurationMap, getDatabaseStatus, getNodeConfigurationByUuid, getRemoteServer, isWriteQuorumPresent, messageAfterOp, messageBeforeOp, messageCurrentPayload, messagePartitionCalculate, messageProcessEnd, messageProcessStart, messageReceived, removeServer, setDatabaseStatus, updateCachedDatabaseConfigurationonCreateonSocketAccepted, onSocketDestroyedpublic static final String REPLICATOR_USER
protected static final String PAR_DEF_DISTRIB_DB_CONFIG
protected static final String NODE_NAME_ENV
protected OServer serverInstance
protected String nodeUuid
protected String nodeName
protected int nodeId
protected File defaultDatabaseConfigFile
protected final ConcurrentMap<String,ODistributedStorage> storages
protected volatile ODistributedServerManager.NODE_STATUS status
protected long lastClusterChangeOn
protected List<ODistributedLifecycleListener> listeners
protected final ConcurrentMap<String,ORemoteServerController> remoteServers
protected TimerTask publishLocalNodeConfigurationTask
protected TimerTask haStatsTask
protected TimerTask healthCheckerTask
protected AtomicLong localMessageIdCounter
protected OClusterOwnershipAssignmentStrategy clusterAssignmentStrategy
protected static final int DEPLOY_DB_MAX_RETRIES
protected ConcurrentMap<String,com.hazelcast.core.Member> activeNodes
protected ConcurrentMap<String,String> activeNodesNamesByUuid
protected ConcurrentMap<String,String> activeNodesUuidByName
protected final ConcurrentMap<String,Integer> registeredNodeByName
protected ConcurrentMap<String,Long> autoRemovalOfServers
protected volatile ODistributedMessageServiceImpl messageService
protected Date startedOn
protected ODistributedStrategy responseManagerFactory
protected ORemoteTaskFactoryManager taskFactoryManager
protected CountDownLatch serverStarted
public void waitUntilNodeOnline()
throws InterruptedException
waitUntilNodeOnline in interface ODistributedServerManagerInterruptedExceptionpublic void waitUntilNodeOnline(String nodeName, String databaseName) throws InterruptedException
waitUntilNodeOnline in interface ODistributedServerManagerInterruptedExceptionpublic ODatabaseLifecycleListener.PRIORITY getPriority()
getPriority in interface ODatabaseLifecycleListenerpublic void config(OServer oServer, OServerParameterConfiguration[] iParams)
OServerPluginconfig in interface OServerPluginconfig in class OServerPluginAbstract@Deprecated public String getCoordinatorServer()
getCoordinatorServer in interface ODistributedServerManagerpublic String getLockManagerServer()
getLockManagerServer in interface ODistributedServerManagerpublic File getDefaultDatabaseConfigFile()
getDefaultDatabaseConfigFile in interface ODistributedServerManagerpublic void setDefaultDatabaseConfigFile(String iFile)
public void startup()
startup in interface OServicestartup in class OServerPluginAbstractpublic ODistributedAbstractPlugin registerLifecycleListener(ODistributedLifecycleListener iListener)
registerLifecycleListener in interface ODistributedServerManagerpublic ODistributedAbstractPlugin unregisterLifecycleListener(ODistributedLifecycleListener iListener)
unregisterLifecycleListener in interface ODistributedServerManagerpublic void shutdown()
shutdown in interface OServiceshutdown in class OServerPluginAbstractpublic ODistributedLockManagerRequester getLockManagerRequester()
getLockManagerRequester in interface ODistributedServerManagerpublic ODistributedLockManagerExecutor getLockManagerExecutor()
getLockManagerExecutor in interface ODistributedServerManagerpublic void onOpen(ODatabaseInternal iDatabase)
onOpen in interface ODatabaseLifecycleListenerpublic void registerNewDatabaseIfNeeded(String dbName, ODistributedConfiguration cfg)
public void onClose(ODatabaseInternal iDatabase)
onClose in interface ODatabaseLifecycleListenerpublic void onDrop(ODatabaseInternal iDatabase)
onDrop in interface ODatabaseLifecycleListenerpublic void removeStorage(String name)
public void onDropClass(ODatabaseInternal iDatabase, OClass iClass)
onDropClass in interface ODatabaseLifecycleListenerpublic void sendShutdown()
sendShutdown in interface OServerPluginsendShutdown in class OServerPluginAbstractpublic String getNodeName(com.hazelcast.core.Member iMember)
public String getNodeName(com.hazelcast.core.Member iMember, boolean useCache)
public boolean updateCachedDatabaseConfiguration(String iDatabaseName, OModifiableDistributedConfiguration cfg)
public ODistributedConfiguration getDatabaseConfiguration(String iDatabaseName)
getDatabaseConfiguration in interface ODistributedServerManagerpublic ODistributedConfiguration getDatabaseConfiguration(String iDatabaseName, boolean createIfNotPresent)
getDatabaseConfiguration in interface ODistributedServerManagerpublic OServer getServerInstance()
getServerInstance in interface ODistributedServerManagerpublic ODocument getClusterConfiguration()
getClusterConfiguration in interface ODistributedServerManagerpublic abstract String getPublicAddress()
public ODocument getLocalNodeConfiguration()
getLocalNodeConfiguration in interface ODistributedServerManagerpublic boolean isEnabled()
isEnabled in interface ODistributedServerManagerpublic ODistributedServerManager.NODE_STATUS getNodeStatus()
getNodeStatus in interface ODistributedServerManagerpublic void setNodeStatus(ODistributedServerManager.NODE_STATUS iStatus)
setNodeStatus in interface ODistributedServerManagerpublic boolean checkNodeStatus(ODistributedServerManager.NODE_STATUS iStatus2Check)
checkNodeStatus in interface ODistributedServerManagerpublic ODistributedResponse sendRequest(String iDatabaseName, Collection<String> iClusterNames, Collection<String> iTargetNodes, ORemoteTask iTask, long reqId, ODistributedRequest.EXECUTION_MODE iExecutionMode, Object localResult, OCallable<Void,ODistributedRequestId> iAfterSentCallback, OCallable<Void,ODistributedResponseManager> endCallback)
ODistributedServerManagersendRequest in interface ODistributedServerManagerreqId - Message Id as longlocalResult - It's the result of the request executed locallypublic ODistributedResponse sendRequest(String iDatabaseName, Collection<String> iClusterNames, Collection<String> iTargetNodes, ORemoteTask iTask, long reqId, ODistributedRequest.EXECUTION_MODE iExecutionMode, Object localResult, OCallable<Void,ODistributedRequestId> iAfterSentCallback, OCallable<Void,ODistributedResponseManager> endCallback, ODistributedResponseManagerFactory responseManagerFactory)
public void executeOnLocalNodeFromRemote(ODistributedRequest request)
executeOnLocalNodeFromRemote in interface ODistributedServerManagerpublic Object executeOnLocalNode(ODistributedRequestId reqId, ORemoteTask task, ODatabaseDocumentInternal database)
executeOnLocalNode in interface ODistributedServerManagerpublic String getLocalNodeName()
getLocalNodeName in interface ODistributedServerManagerpublic int getLocalNodeId()
getLocalNodeId in interface ODistributedServerManagerpublic void onLocalNodeConfigurationRequest(ODocument iConfiguration)
ODatabaseLifecycleListeneronLocalNodeConfigurationRequest in interface ODatabaseLifecycleListenerpublic void onCreateClass(ODatabaseInternal iDatabase, OClass iClass)
onCreateClass in interface ODatabaseLifecycleListenerpublic ODocument getStats()
getStats in interface ODistributedServerManagerpublic String getNodeNameById(int id)
getNodeNameById in interface ODistributedServerManagerpublic int getNodeIdByName(String name)
getNodeIdByName in interface ODistributedServerManagerpublic String getNodeUuidByName(String name)
getNodeUuidByName in interface ODistributedServerManagerpublic void updateLastClusterChange()
updateLastClusterChange in interface ODistributedServerManagerpublic void reassignClustersOwnership(String iNode, String databaseName, OModifiableDistributedConfiguration cfg, boolean canCreateNewClusters)
reassignClustersOwnership in interface ODistributedServerManagerpublic boolean isNodeAvailable(String iNodeName, String iDatabaseName)
ODistributedServerManagerisNodeAvailable in interface ODistributedServerManagerpublic boolean isNodeStatusEqualsTo(String iNodeName, String iDatabaseName, ODistributedServerManager.DB_STATUS... statuses)
ODistributedServerManagerisNodeStatusEqualsTo in interface ODistributedServerManageriNodeName - Node nameiDatabaseName - Database namestatuses - vararg of statusespublic boolean isNodeAvailable(String iNodeName)
isNodeAvailable in interface ODistributedServerManagerpublic boolean isNodeOnline(String iNodeName, String iDatabaseName)
ODistributedServerManagerisNodeOnline in interface ODistributedServerManagerpublic boolean isOffline()
isOffline in interface ODistributedServerManagerpublic int getAvailableNodes(Collection<String> iNodes, String databaseName)
getAvailableNodes in interface ODistributedServerManagerpublic int getNodesWithStatus(Collection<String> iNodes, String databaseName, ODistributedServerManager.DB_STATUS... statuses)
getNodesWithStatus in interface ODistributedServerManagerpublic ODistributedMessageServiceImpl getMessageService()
getMessageService in interface ODistributedServerManagerpublic long getLastClusterChangeOn()
getLastClusterChangeOn in interface ODistributedServerManagerpublic int getTotalNodes(String iDatabaseName)
getTotalNodes in interface ODistributedServerManagerpublic int getAvailableNodes(String iDatabaseName)
getAvailableNodes in interface ODistributedServerManagerpublic List<String> getOnlineNodes(String iDatabaseName)
getOnlineNodes in interface ODistributedServerManagerpublic boolean installDatabase(boolean backup,
String databaseName,
boolean forceDeployment,
boolean tryWithDeltaFirst)
installDatabase in interface ODistributedServerManagerpublic boolean installDatabase(boolean backup,
String databaseName,
boolean forceDeployment,
boolean tryWithDeltaFirst,
boolean manualSync)
protected boolean requestFullDatabase(ODistributedDatabaseImpl distrDatabase, String databaseName, boolean backupDatabase, OModifiableDistributedConfiguration cfg)
public boolean requestDatabaseDelta(ODistributedDatabaseImpl distrDatabase, String databaseName, OModifiableDistributedConfiguration cfg)
protected void checkIntegrityOfLastTransactions(ODistributedDatabaseImpl distrDatabase)
protected boolean requestDatabaseFullSync(ODistributedDatabaseImpl distrDatabase, boolean backupDatabase, String databaseName, boolean iAskToAllNodes, OModifiableDistributedConfiguration cfg)
protected File getClusterOwnedExclusivelyByCurrentNode(String dbPath, String iDatabaseName)
protected void backupCurrentDatabase(String iDatabaseName)
protected void installDatabaseFromNetwork(String dbPath, String databaseName, ODistributedDatabaseImpl distrDatabase, String iNode, ODistributedDatabaseChunk firstChunk, boolean delta, File uniqueClustersBackupDirectory, OModifiableDistributedConfiguration cfg)
public ORemoteTaskFactoryManager getTaskFactoryManager()
ODistributedServerManagergetTaskFactoryManager in interface ODistributedServerManagerpublic boolean installClustersOfClass(ODatabaseInternal iDatabase, OClass iClass, OModifiableDistributedConfiguration cfg)
public ODistributedStrategy getDistributedStrategy()
getDistributedStrategy in interface ODistributedServerManagerpublic void setDistributedStrategy(ODistributedStrategy streatgy)
setDistributedStrategy in interface ODistributedServerManagerpublic <T> T executeInDistributedDatabaseLock(String databaseName, long timeoutLocking, OModifiableDistributedConfiguration lastCfg, OCallable<T,OModifiableDistributedConfiguration> iCallback)
executeInDistributedDatabaseLock in interface ODistributedServerManagerT - Return typedatabaseName - Database nameiCallback - Operation @return The operation's result of type Tpublic abstract void notifyClients(String databaseName)
notifyClients in interface ODistributedServerManagerprotected void onDatabaseEvent(String nodeName, String databaseName, ODistributedServerManager.DB_STATUS status)
protected void rebalanceClusterOwnership(String iNode, ODatabaseInternal iDatabase, OModifiableDistributedConfiguration cfg, boolean canCreateNewClusters)
protected void assignNodeName()
protected ODatabaseDocumentInternal installDatabaseOnLocalNode(String databaseName, String dbPath, String iNode, boolean delta, File uniqueClustersBackupDirectory, OModifiableDistributedConfiguration cfg, boolean incremental, OSyncReceiver receiver)
public void onMessage(String iText)
onMessage in interface OCommandOutputListenerpublic void stopNode(String iNode) throws IOException
IOExceptionpublic void restartNode(String iNode) throws IOException
IOExceptionpublic Set<String> getAvailableNodeNames(String iDatabaseName)
getAvailableNodeNames in interface ODistributedServerManagerpublic long getNextMessageIdCounter()
getNextMessageIdCounter in interface ODistributedServerManagerpublic void closeRemoteServer(String node)
protected boolean isRelatedToLocalServer(ODatabaseInternal iDatabase)
protected void dumpServersStatus()
public ODistributedStorage getStorageIfExists(String dbName)
public ODistributedStorage getStorage(String dbName)
getStorage in interface ODistributedServerManagerpublic ODistributedStorage getStorage(String dbName, OAbstractPaginatedStorage wrapped)
public ODistributedConflictResolverFactory getConflictResolverFactory()
getConflictResolverFactory in interface ODistributedServerManagerCopyright © 2009–2025 OrientDB. All rights reserved.