Package | Description |
---|---|
org.opends.server.backends |
Contains various Directory Server backend implementations.
|
org.opends.server.replication.server |
This package contains the code for the Replication Server part
of the Multimaster replication feature.
|
org.opends.server.replication.server.changelog.api |
This package contains the API for the changelog database.
|
org.opends.server.replication.server.changelog.file |
This package contains a file-based log implementation for the changelog
database API.
|
org.opends.server.replication.server.changelog.je |
This package contains the Berkeley DB JE implementation for the changelog
database API.
|
Modifier and Type | Method and Description |
---|---|
void |
ChangelogBackend.notifyChangeNumberEntryAdded(DN baseDN,
long changeNumber,
String cookieString,
UpdateMsg updateMsg)
Notifies persistent searches of this backend that a new change number entry was added to it.
|
void |
ChangelogBackend.notifyCookieEntryAdded(DN baseDN,
UpdateMsg updateMsg)
Notifies persistent searches of this backend that a new cookie entry was added to it.
|
static void |
ChangelogBackend.updateCookieToMediumConsistencyPoint(MultiDomainServerState cookie,
ECLMultiDomainDBCursor cursor,
ChangeNumberIndexRecord cnIndexRecord)
Rebuilds the changelogcookie starting at the newest change number index record.
|
Modifier and Type | Method and Description |
---|---|
DBCursor<UpdateMsg> |
ReplicationServerDomain.getCursorFrom(ServerState startAfterServerState)
Creates and returns a cursor across this replication domain.
|
UpdateMsg |
ServerHandler.take()
Select the next update that must be sent to the server managed by this
ServerHandler.
|
Modifier and Type | Class and Description |
---|---|
class |
AbortedChangelogCursorException
This exception is thrown when a cursor that has been aborted is used.
|
Modifier and Type | Method and Description |
---|---|
long |
ChangeNumberIndexDB.addRecord(ChangeNumberIndexRecord record)
Add an update to the list of messages that must be saved to this DB managed
by this DB and return the changeNumber associated to this record.
|
DBCursor<UpdateMsg> |
ReplicationDomainDB.getCursorFrom(DN baseDN,
int serverId,
CSN startCSN,
DBCursor.CursorOptions options)
|
DBCursor<UpdateMsg> |
ReplicationDomainDB.getCursorFrom(DN baseDN,
ServerState startState,
DBCursor.CursorOptions options)
Generates a
DBCursor across all the replicaDBs for the specified
replication domain starting before, at or after the provided
ServerState for each replicaDB, depending on the provided matching
and positioning strategies. |
DBCursor<ChangeNumberIndexRecord> |
ChangeNumberIndexDB.getCursorFrom(long startChangeNumber)
Generate a new
DBCursor that allows to browse the db managed by
this object and starting at the position defined by a given changeNumber. |
MultiDomainDBCursor |
ReplicationDomainDB.getCursorFrom(MultiDomainServerState startState,
DBCursor.CursorOptions options)
Generates a
DBCursor across all the domains starting before, at or
after the provided MultiDomainServerState for each domain,
depending on the provided matching and positioning strategies. |
MultiDomainDBCursor |
ReplicationDomainDB.getCursorFrom(MultiDomainServerState startState,
DBCursor.CursorOptions options,
Set<DN> excludedDomainDns)
Generates a
DBCursor across all the domains starting before, at or
after the provided MultiDomainServerState for each domain,
excluding a provided set of domain DNs. |
ChangeNumberIndexRecord |
ChangeNumberIndexDB.getNewestRecord()
Get the newest record stored in this DB.
|
ChangeNumberIndexRecord |
ChangeNumberIndexDB.getOldestRecord()
Get the oldest record stored in this DB.
|
boolean |
DBCursor.next()
Skip to the next record of the database.
|
void |
ReplicationDomainDB.notifyReplicaOffline(DN baseDN,
CSN offlineCSN)
Let the DB know this replica is going down.
|
boolean |
ReplicationDomainDB.publishUpdateMsg(DN baseDN,
UpdateMsg updateMsg)
Publishes the provided change to the changelog DB for the specified
serverId and replication domain.
|
void |
ChangelogDB.removeDB()
Removes the changelog database directory.
|
void |
ReplicationDomainDB.removeDomain(DN baseDN)
Removes all the data relating to the specified replication domain and
shutdown all its replica databases.
|
void |
ReplicationDomainDB.replicaHeartbeat(DN baseDN,
CSN heartbeatCSN)
Let the DB know this replica is alive.
|
void |
ChangelogDB.setComputeChangeNumber(boolean computeChangeNumber)
Sets whether the replication database must compute change numbers for
replicated changes.
|
void |
ChangelogDB.shutdownDB()
Shutdown the replication database.
|
Modifier and Type | Class and Description |
---|---|
class |
DecodingException
Exception thrown when a record can't be decoded properly.
|
Modifier and Type | Method and Description |
---|---|
void |
FileChangelogDB.clearDB()
Clears all records from the changelog (does not remove the changelog itself).
|
DBCursor<UpdateMsg> |
FileChangelogDB.getCursorFrom(DN baseDN,
int serverId,
CSN startCSN,
DBCursor.CursorOptions options) |
DBCursor<UpdateMsg> |
FileChangelogDB.getCursorFrom(DN baseDN,
ServerState startState,
DBCursor.CursorOptions options)
Generates a
DBCursor across all the replicaDBs for the specified
replication domain starting before, at or after the provided
ServerState for each replicaDB, depending on the provided matching
and positioning strategies. |
MultiDomainDBCursor |
FileChangelogDB.getCursorFrom(MultiDomainServerState startState,
DBCursor.CursorOptions options)
Generates a
DBCursor across all the domains starting before, at or
after the provided MultiDomainServerState for each domain,
depending on the provided matching and positioning strategies. |
MultiDomainDBCursor |
FileChangelogDB.getCursorFrom(MultiDomainServerState startState,
DBCursor.CursorOptions options,
Set<DN> excludedDomainDns)
Generates a
DBCursor across all the domains starting before, at or
after the provided MultiDomainServerState for each domain,
excluding a provided set of domain DNs. |
protected void |
MultiDomainDBCursor.incorporateNewCursors()
Called when implementors should incorporate new cursors into the current
composite DBCursor.
|
protected void |
DomainDBCursor.incorporateNewCursors()
Called when implementors should incorporate new cursors into the current
composite DBCursor.
|
boolean |
ReplicaCursor.next()
Skip to the next record of the database.
|
boolean |
ECLMultiDomainDBCursor.next() |
protected void |
ChangeNumberIndexer.notifyEntryAddedToChangelog(DN baseDN,
long changeNumber,
MultiDomainServerState cookie,
UpdateMsg msg)
Notifies the
ChangelogBackend that a new entry has been added. |
void |
FileChangelogDB.notifyReplicaOffline(DN baseDN,
CSN offlineCSN)
Let the DB know this replica is going down.
|
void |
ChangeNumberIndexer.publishUpdateMsg(DN baseDN,
UpdateMsg updateMsg)
Ensures the medium consistency point is updated by UpdateMsg.
|
boolean |
FileChangelogDB.publishUpdateMsg(DN baseDN,
UpdateMsg updateMsg)
Publishes the provided change to the changelog DB for the specified
serverId and replication domain.
|
void |
FileChangelogDB.removeDB()
Removes the changelog database directory.
|
void |
FileChangelogDB.removeDomain(DN baseDN)
Removes all the data relating to the specified replication domain and
shutdown all its replica databases.
|
void |
FileChangelogDB.replicaHeartbeat(DN baseDN,
CSN heartbeatCSN)
Let the DB know this replica is alive.
|
void |
FileChangelogDB.setComputeChangeNumber(boolean computeChangeNumber)
Sets whether the replication database must compute change numbers for
replicated changes.
|
void |
FileChangelogDB.shutdownDB()
Shutdown the replication database.
|
Modifier and Type | Method and Description |
---|---|
long |
JEChangeNumberIndexDB.addRecord(ChangeNumberIndexRecord record)
Add an update to the list of messages that must be saved to this DB managed
by this DB and return the changeNumber associated to this record.
|
void |
DraftCNDB.addRecord(ChangeNumberIndexRecord record)
Add a record to the database.
|
com.sleepycat.je.Transaction |
ReplicationDbEnv.beginTransaction()
Creates a new transaction.
|
void |
JEChangeNumberIndexDB.clear()
Clear the changes from this DB (from both memory cache and DB storage).
|
void |
DraftCNDB.clear()
Clears this change DB from the changes it contains.
|
void |
JEChangelogDB.clearDB()
Clears all records from the changelog (does not remove the changelog itself).
|
void |
ReplicationDbEnv.clearGenerationId(DN baseDN)
Clears the provided generationId associated to the provided baseDN from the
state Db.
|
void |
ReplicationDbEnv.clearServerId(DN baseDN,
int serverId)
Clears the provided serverId associated to the provided baseDN from the
state Db.
|
void |
DraftCNDB.DraftCNDBCursor.delete()
Delete the record at the current cursor position.
|
DBCursor<UpdateMsg> |
JEChangelogDB.getCursorFrom(DN baseDN,
int serverId,
CSN startCSN,
DBCursor.CursorOptions options) |
DBCursor<UpdateMsg> |
JEChangelogDB.getCursorFrom(DN baseDN,
ServerState startState,
DBCursor.CursorOptions options)
Generates a
DBCursor across all the replicaDBs for the specified
replication domain starting before, at or after the provided
ServerState for each replicaDB, depending on the provided matching
and positioning strategies. |
DBCursor<ChangeNumberIndexRecord> |
JEChangeNumberIndexDB.getCursorFrom(long startChangeNumber)
Generate a new
DBCursor that allows to browse the db managed by
this object and starting at the position defined by a given changeNumber. |
MultiDomainDBCursor |
JEChangelogDB.getCursorFrom(MultiDomainServerState startState,
DBCursor.CursorOptions options)
Generates a
DBCursor across all the domains starting before, at or
after the provided MultiDomainServerState for each domain,
depending on the provided matching and positioning strategies. |
MultiDomainDBCursor |
JEChangelogDB.getCursorFrom(MultiDomainServerState startState,
DBCursor.CursorOptions options,
Set<DN> excludedDomainDns)
Generates a
DBCursor across all the domains starting before, at or
after the provided MultiDomainServerState for each domain,
excluding a provided set of domain DNs. |
ChangeNumberIndexRecord |
JEChangeNumberIndexDB.getNewestRecord()
Get the newest record stored in this DB.
|
ChangeNumberIndexRecord |
JEChangeNumberIndexDB.getOldestRecord()
Get the oldest record stored in this DB.
|
com.sleepycat.je.Database |
ReplicationDbEnv.getOrAddReplicationDB(int serverId,
DN baseDN,
long generationId)
Finds or creates the database used to store changes for a replica with the
given baseDN and serverId.
|
com.sleepycat.je.Database |
ReplicationDbEnv.getOrCreateCNIndexDB()
Get or create a db to manage integer change number associated
to multidomain server state.
|
ChangeNumberIndexRecord |
DraftCNData.getRecord()
Getter for the decoded record.
|
boolean |
JEChangeNumberIndexDB.isEmpty()
Returns whether this database is empty.
|
boolean |
JEChangeNumberIndexDBCursor.next()
Skip to the next record of the database.
|
boolean |
DraftCNDB.DraftCNDBCursor.next()
Go to the next record on the cursor.
|
void |
ReplicationDbEnv.notifyReplicaOffline(DN baseDN,
CSN offlineCSN)
Notify that replica is offline.
|
void |
JEChangelogDB.notifyReplicaOffline(DN baseDN,
CSN offlineCSN)
Let the DB know this replica is going down.
|
void |
ReplicationDbEnv.notifyReplicaOnline(DN baseDN,
int serverId)
Notify that replica is online.
|
protected com.sleepycat.je.Database |
ReplicationDbEnv.openDatabase(String databaseName)
Open a JE database.
|
DraftCNDB.DraftCNDBCursor |
DraftCNDB.openDeleteCursor()
Create a cursor that can be used to delete some record from this
ReplicationServer database.
|
DraftCNDB.DraftCNDBCursor |
DraftCNDB.openReadCursor(long changeNumber)
Create a cursor that can be used to search or iterate on this DB.
|
boolean |
JEChangelogDB.publishUpdateMsg(DN baseDN,
UpdateMsg updateMsg)
Publishes the provided change to the changelog DB for the specified
serverId and replication domain.
|
CSN |
JEChangeNumberIndexDB.purgeUpTo(CSN purgeCSN)
Synchronously purges the change number index DB up to and excluding the
provided timestamp.
|
ChangeNumberIndexRecord |
DraftCNDB.readFirstRecord()
Read the first Change from the database, 0 when none.
|
ChangeNumberIndexRecord |
DraftCNDB.readLastRecord()
Read the last change number from the database.
|
protected ChangelogState |
ReplicationDbEnv.readOnDiskChangelogState()
Read and return the changelog state from the database.
|
void |
JEChangelogDB.removeDB()
Removes the changelog database directory.
|
void |
JEChangeNumberIndexDB.removeDomain(DN baseDNToClear)
Clear the changes from this DB (from both memory cache and DB storage) for
the provided baseDN.
|
void |
JEChangelogDB.removeDomain(DN baseDN)
Removes all the data relating to the specified replication domain and
shutdown all its replica databases.
|
void |
JEChangelogDB.replicaHeartbeat(DN baseDN,
CSN heartbeatCSN)
Let the DB know this replica is alive.
|
void |
JEChangelogDB.setComputeChangeNumber(boolean computeChangeNumber)
Sets whether the replication database must compute change numbers for
replicated changes.
|
void |
JEChangelogDB.shutdownDB()
Shutdown the replication database.
|
Constructor and Description |
---|
DraftCNData(long changeNumber,
byte[] data)
Creates a record to be stored in the DraftCNDB from the provided byte[].
|
DraftCNDB(ReplicationDbEnv dbenv)
Creates a new database or open existing database that will be used
to store and retrieve changes from an LDAP server.
|
JEChangeNumberIndexDB(ReplicationDbEnv dbEnv)
Creates a new JEChangeNumberIndexDB associated to a given LDAP server.
|
JEChangeNumberIndexDBCursor(DraftCNDB db,
long startChangeNumber)
Creates a new DB Cursor.
|
ReplicationDbEnv(String path,
ReplicationServer replicationServer)
Initialize this class.
|
Copyright © 2010-2015 ForgeRock AS. All Rights Reserved.