Class OrientDBDistributed
java.lang.Object
com.orientechnologies.orient.core.db.OrientDBEmbedded
com.orientechnologies.orient.distributed.db.OrientDBDistributed
- All Implemented Interfaces:
OrientDBInternal,OSchedulerInternal,ODatabaseStateChangeListener,OServerAware,AutoCloseable
public class OrientDBDistributed
extends OrientDBEmbedded
implements OServerAware, ODatabaseStateChangeListener
Created by tglman on 08/08/17.
-
Nested Class Summary
Nested classes/interfaces inherited from class com.orientechnologies.orient.core.db.OrientDBEmbedded
OrientDBEmbedded.DatabaseFound -
Field Summary
FieldsFields inherited from class com.orientechnologies.orient.core.db.OrientDBEmbedded
basePath, cachedPoolFactory, dbCount, orient, pools, sharedContexts, storages -
Constructor Summary
ConstructorsConstructorDescriptionOrientDBDistributed(String directoryPath, OrientDBConfig config, Orient instance) -
Method Summary
Modifier and TypeMethodDescriptionvoidacceptSync(ONodeId receiver, ODatabaseId dbId, OSyncId syncId, OSyncMode mode, Optional<OTransactionSequenceStatus> sequenceStatus) voidcancelDeclare(OTransactionIdPromise promise, ODatabaseId dbId, String database) voidvoidcanSync(ONodeId sender, ODatabaseId dbId, OSyncId syncId, boolean canSync, OSyncMode mode, Optional<OTransactionSequenceStatus> sequenceStatus) voidclose()Close the factory with all related databases and pools.voidcloseRemoteServer(String node) <T> TconfigOp(ODistributedConfigurationManager cm, String database, com.orientechnologies.orient.distributed.db.OrientDBDistributed.ConfigOp<T> op) voidconnectRemoteServer(String rNodeName, String url, String replicatorUser, String userPassword) voidcoordinatedOperation(OOperationMessage operation, OCompleteExecution execution) voidcreate(String name, String user, String password, ODatabaseType type, ODatabaseId id, OrientDBConfig config, ODatabaseTask<Void> createOps) protected OSharedContextcreateSharedContext(OStorage storage) voiddeclareDatabase(OTransactionIdPromise promise, ODatabaseId dbId, String database, Set<ONodeId> partecipants, int minimumQuorum) booleandeltaSync(String dbName, InputStream backupStream, OrientDBConfig config) voiddistributedOperation(OOperationMessage operation, OCompleteExecution retry) voiddistributedPauseDatabase(String database) voiddistributedSetOnline(String database) voidDrop a databasestatic voiddropStorageFiles(OStorage storage) voidenstablish(OGroupId groupId, Set<ONodeId> candidates) voidfirstConnect(ONodeId nodeId, ONodeStateNetwork state) voidfullSync(String dbName, InputStream backupStream, OrientDBConfig config) intgetAvailableNodeNames(String name) getConfigurationManager(String database) getDatabase(String iDatabaseName) getDatabaseStatus(ONodeId nodeId, String dbName) getDatabaseStatus(String dbName) getDatabaseStatus(String node, String dbName) getDefaultDistributedConfiguration(String database) getDistributedConfiguration(String database) getExistingDistributedConfiguration(String database) longintgetNodesWithStatus(Collection<String> iNodes, String databaseName, ODistributedServerManager.DB_STATUS... statuses) Returns the nodes with the requested status.intgetOnlineMasters(String databaseName) getOnlineNodesNotLocal(String dbName) getOrInitConfigurationManager(String database) getRemoteServer(String rNodeName) voidincrementalsSync(String dbName, InputStream backupStream, OrientDBConfig config) voidvoidinitDistributed(ONodeConfiguration config) voidinitDistributed(String nodeName, String groupIdPar, int miminumQuorum, ORemoteServerAvailabilityCheck check) booleaninstallDatabase(boolean iStartup, String databaseName, boolean forceDeployment, boolean tryWithDeltaFirst) voidinternalDrop(String name) protected booleanisDistributedDisabled(String storage) booleanisNodeAvailable(String targetNode, String databaseName) booleanisNodeOnline(String targetNode, String databaseName) voidnewCompleteAction(OOperationMessage operation, OCompleteExecution execution) protected ODatabaseDocumentEmbeddednewCreateSessionInstance(OStorage storage, OrientDBConfig config) protected ODatabaseDocumentEmbeddednewPooledSessionInstance(ODatabasePoolInternal pool, OStorage storage, OSharedContext sharedContext) protected ODatabaseDocumentEmbeddednewSessionInstance(OStorage storage, OrientDBConfig config) voidnextBuffer(OSyncId syncId, boolean close) voidonStateChange(ODatabaseId dbId, ONodeId nodeId, ODatabaseState state) Open a database specified by name using the username and password if neededopen(String name, String user, String password, OrientDBConfig config) Open a database specified by name using the username and password if needed, with specific configurationpoolOpen(String name, String user, String password, ODatabasePoolInternal pool) Internal api for request to open a database with a poolpromiseDeclare(OTransactionIdPromise promise, ODatabaseId databaseId, String database, Set<ONodeId> partecipants, int minimumQuorum) voidvoidreceiveSync(String dbName, OSyncState state, InputStream input, OrientDBConfig conf) voidreceiveSyncData(OSyncId syncId, byte[] data, boolean finished) voidregisterNode(ONodeId node, long version) voidrequestNext(OSyncState state, boolean close) voidretryExecution(ORetryOperation operation, OCompleteExecution exec, int delay) voidretryOperation(OOperationMessage operation, OCompleteAction action, int delay) retryOperation(ORetryOperation operation) voidsaveDatabaseConfiguration(String database) voidsendBuffer(OSyncState state, byte[] data, boolean finished) voidsendDatabase(ONodeId receiver, ODatabaseId dbId, OSyncId syncId, OSyncMode mode, Optional<OTransactionSequenceStatus> sequenceStatus) voidsendFirstConnects(Set<ONodeId> nodes) voidsendMergeOperation(Set<ONodeId> members, OCompleteExecution execution, ONodeStateNetwork otherState) voidsendMessage(ONodeId node, OStructuralMessage op) voidsendMessage(Set<ONodeId> set, OStructuralMessage op) voidsetDatabaseStatus(ONodeId nodeId, String dbName, ODistributedServerManager.DB_STATUS status) voidsetDatabaseStatus(String dbName, ODistributedServerManager.DB_STATUS status) voidsetDistributedConfiguration(String database, OModifiableDistributedConfiguration distributedConfiguration) voidsetPlugin(ODistributedPlugin plugin) voidsyncBackup(String name, OSyncState state, OutputStream output) booleanunregisterDatabase(String iDatabaseName) Methods inherited from class com.orientechnologies.orient.core.db.OrientDBEmbedded
buildName, cachedPool, cachedPool, checkOpen, create, create, createCachedDatabasePoolFactory, delayExecute, endCommand, execute, execute, execute, executeNoAuthorization, executeNoDb, executeServerStatement, executeServerStatement, exists, forceDatabaseClose, getAndOpenStorage, getBasePath, getConfigurations, getConnectionUrl, getDatabasePath, getDefaultEngine, getEngine, getIoExecutor, getOrCreateSharedContext, getScriptManager, getSecuritySystem, getStorage, getStorages, getSystemDatabase, initAutoClose, initCustomStorage, initEngines, internalClose, internalCreate, isEmbedded, isMemoryOnly, isOpen, listDatabases, listLodadedDatabases, networkRestore, open, openNoAuthenticate, openNoAuthorization, openPool, openPool, periodicExecute, preClose, removePool, removeShutdownHook, restore, restore, schedule, scheduleExecuteFrom, scheduleOnce, solveConfig, startCommandMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface com.orientechnologies.orient.core.db.OrientDBInternal
newOrientDB, newOrientDBNoCloseMethods inherited from interface com.orientechnologies.orient.core.db.OSchedulerInternal
delayExecute, scheduleFrom
-
Field Details
-
localMessageIdCounter
-
-
Constructor Details
-
OrientDBDistributed
-
-
Method Details
-
init
- Specified by:
initin interfaceOServerAware
-
initDistributed
-
initDistributed
public void initDistributed(String nodeName, String groupIdPar, int miminumQuorum, ORemoteServerAvailabilityCheck check) -
onStateChange
- Specified by:
onStateChangein interfaceODatabaseStateChangeListener
-
loadAllDatabases
public void loadAllDatabases()- Specified by:
loadAllDatabasesin interfaceOrientDBInternal- Overrides:
loadAllDatabasesin classOrientDBEmbedded
-
getPlugin
-
newSessionInstance
- Overrides:
newSessionInstancein classOrientDBEmbedded
-
isDistributedDisabled
-
newCreateSessionInstance
protected ODatabaseDocumentEmbedded newCreateSessionInstance(OStorage storage, OrientDBConfig config) - Overrides:
newCreateSessionInstancein classOrientDBEmbedded
-
setPlugin
-
incrementalsSync
-
fullSync
- Specified by:
fullSyncin interfaceOrientDBInternal
-
poolOpen
public ODatabaseDocumentInternal poolOpen(String name, String user, String password, ODatabasePoolInternal pool) Description copied from interface:OrientDBInternalInternal api for request to open a database with a pool- Specified by:
poolOpenin interfaceOrientDBInternal- Overrides:
poolOpenin classOrientDBEmbedded
-
internalDrop
- Specified by:
internalDropin interfaceOrientDBInternal- Overrides:
internalDropin classOrientDBEmbedded
-
drop
Description copied from interface:OrientDBInternalDrop a database- Specified by:
dropin interfaceOrientDBInternal- Overrides:
dropin classOrientDBEmbedded- Parameters:
name- database nameuser- the username of a user allowed to drop a database, in case of remote is a server user for embedded it can be left emptypassword- the password relative to the user
-
sendMessage
-
sendMessage
-
receiveMessage
-
open
Description copied from interface:OrientDBInternalOpen a database specified by name using the username and password if needed- Specified by:
openin interfaceOrientDBInternal- Overrides:
openin classOrientDBEmbedded- Parameters:
name- of the database to openuser- the username allowed to open the databasepassword- related to the specified username- Returns:
- the opened database
-
open
public ODatabaseDocumentInternal open(String name, String user, String password, OrientDBConfig config) Description copied from interface:OrientDBInternalOpen a database specified by name using the username and password if needed, with specific configuration- Specified by:
openin interfaceOrientDBInternal- Overrides:
openin classOrientDBEmbedded- Parameters:
name- of the database to openuser- the username allowed to open the databasepassword- related to the specified usernameconfig- database specific configuration that override the factory global settings where needed.- Returns:
- the opened database
-
dropStorageFiles
-
getDistributedManager
- Specified by:
getDistributedManagerin interfaceOServerAware
-
deltaSync
- Specified by:
deltaSyncin interfaceOrientDBInternal
-
getNodeName
-
getDatabase
-
unregisterDatabase
-
create
public void create(String name, String user, String password, ODatabaseType type, ODatabaseId id, OrientDBConfig config, ODatabaseTask<Void> createOps) - Specified by:
createin interfaceOrientDBInternal- Overrides:
createin classOrientDBEmbedded
-
retryOperation
-
retryExecution
-
distributedSetOnline
- Specified by:
distributedSetOnlinein interfaceOrientDBInternal
-
distributedPauseDatabase
-
getActiveDatabases
-
getDistributedDatabases
-
getOrInitDistributedConfiguration
-
getOrInitConfigurationManager
-
getConfigurationManager
-
getDistributedConfiguration
-
configOp
public <T> T configOp(ODistributedConfigurationManager cm, String database, com.orientechnologies.orient.distributed.db.OrientDBDistributed.ConfigOp<T> op) -
getExistingDistributedConfiguration
-
getDefaultDistributedConfiguration
-
getDistributedConfiguration
-
setDistributedConfiguration
public void setDistributedConfiguration(String database, OModifiableDistributedConfiguration distributedConfiguration) -
saveDatabaseConfiguration
-
tryUpdatingDatabaseConfigurationLocally
public boolean tryUpdatingDatabaseConfigurationLocally(String database, OModifiableDistributedConfiguration cfg) -
close
public void close()Description copied from interface:OrientDBInternalClose the factory with all related databases and pools.- Specified by:
closein interfaceAutoCloseable- Specified by:
closein interfaceOrientDBInternal- Overrides:
closein classOrientDBEmbedded
-
getActiveDatabaseCount
public int getActiveDatabaseCount() -
getMessageService
-
distributedOperation
-
newCompleteAction
public OStandardCompleteAction newCompleteAction(OOperationMessage operation, OCompleteExecution execution) -
newRetryInfo
-
retryOperation
-
coordinatedOperation
-
getNodeState
-
newNetworkMessage
- Specified by:
newNetworkMessagein interfaceOrientDBInternal
-
firstConnect
-
connected
-
registerNode
-
cancelRegisterPromise
public void cancelRegisterPromise() -
promiseDeclare
public Optional<OAcceptResult> promiseDeclare(OTransactionIdPromise promise, ODatabaseId databaseId, String database, Set<ONodeId> partecipants, int minimumQuorum) -
declareDatabase
public void declareDatabase(OTransactionIdPromise promise, ODatabaseId dbId, String database, Set<ONodeId> partecipants, int minimumQuorum) -
cancelDeclare
-
acceptSync
public void acceptSync(ONodeId receiver, ODatabaseId dbId, OSyncId syncId, OSyncMode mode, Optional<OTransactionSequenceStatus> sequenceStatus) -
canSync
public void canSync(ONodeId sender, ODatabaseId dbId, OSyncId syncId, boolean canSync, OSyncMode mode, Optional<OTransactionSequenceStatus> sequenceStatus) -
receiveSync
-
sendDatabase
public void sendDatabase(ONodeId receiver, ODatabaseId dbId, OSyncId syncId, OSyncMode mode, Optional<OTransactionSequenceStatus> sequenceStatus) -
syncBackup
-
sendBuffer
-
receiveSyncData
-
requestNext
-
nextBuffer
-
getNodeId
-
closeRemoteServer
-
getRemoteServer
-
connectRemoteServer
public ORemoteServerController connectRemoteServer(String rNodeName, String url, String replicatorUser, String userPassword) throws IOException - Throws:
IOException
-
setDatabaseStatus
public void setDatabaseStatus(ONodeId nodeId, String dbName, ODistributedServerManager.DB_STATUS status) -
setDatabaseStatus
-
getDatabaseStatus
-
getDatabaseStatus
-
getDatabaseStatus
-
getServer
-
getNextMessageIdCounter
public long getNextMessageIdCounter() -
installDatabase
public boolean installDatabase(boolean iStartup, String databaseName, boolean forceDeployment, boolean tryWithDeltaFirst) -
getAvailableNodeNotLocalNames
-
getAvailableNodeNames
-
getOnlineMasters
-
enstablish
-
sendFirstConnects
-
getOnlineNodesNotLocal
-
getNodesWithStatus
public int getNodesWithStatus(Collection<String> iNodes, String databaseName, ODistributedServerManager.DB_STATUS... statuses) Returns the nodes with the requested status. -
isNodeOnline
-
isNodeAvailable
-
sendMergeOperation
public void sendMergeOperation(Set<ONodeId> members, OCompleteExecution execution, ONodeStateNetwork otherState)
-