Package org.opends.server.replication.server.changelog.file
This package contains a file-based log implementation for the changelog database API.
Here is a class diagram of the whole hierarchy of cursors from the changelog DB (using plantuml notation):
@startuml
package "High-level cursors:\nreturn LDAPUpdateMsg\n and ReplicataOfflineMsg" {
interface DBCursor
DBCursor <|-- CompositeDBCursor
CompositeDBCursor <|-- DomainDBCursor
CompositeDBCursor <|-- MultiDomainDBCursor
DBCursor <|-- ECLMultiDomainDBCursor
DBCursor <|-- FileReplicaDBCursor
class ECLMultiDomainDBCursor
note left : only returns update messages for domains\nwhich have been enabled for the external changelog
ECLMultiDomainDBCursor -> MultiDomainDBCursor
class MultiDomainDBCursor
note bottom : cross-domains cursor]\n(multiple domains)
MultiDomainDBCursor -> "+" DomainDBCursor
class DomainDBCursor
note bottom : cursor on a single domain\n(multiple replicas)
DomainDBCursor -> "+" FileReplicaDBCursor
class FileReplicaDBCursor
note bottom : cursor on a single replica DB\n(excluding replica offline messages\n- only update messages)
}
package "Low-level cursors:\nreturn LDAPUpdateMsg" {
interface RepositionableCursor
DBCursor <|-- RepositionableCursor
RepositionableCursor <|-- LogFileCursor
RepositionableCursor <|-- LogCursor
RepositionableCursor <|-- EmptyCursor
LogCursor <|-- InternalLogCursor
LogCursor <|-- AbortableLogCursor
LogCursor <|-- AbortedLogCursor
FileReplicaDBCursor -> AbortableLogCursor
class AbortableLogCursor
note bottom : delegates to an InternalLogCursor,\nthen to an AbortedLogCursor when aborted
AbortableLogCursor -> InternalLogCursor
AbortableLogCursor -> AbortedLogCursor
class InternalLogCursor
note bottom : cursors through log files\nthat comprise a Log
InternalLogCursor -> LogFileCursor
InternalLogCursor -> LogFile
class LogFileCursor
note bottom : cursors through a single log file
LogFileCursor -> LogFile
LogFileCursor -> BlockLogReader
}
@enduml
-
Class Summary Class Description ChangelogStat Tool that may be used to debug a replication changelog.ChangeNumberIndexer Thread responsible for inserting replicated updates into the ChangeNumber Index DB (CNIndexDB for short).DomainDBCursor Cursor iterating over a replication domain's replica DBs.ECLMultiDomainDBCursor Multi domain DB cursor that only returns updates for the domains which have been enabled for the external changelog.FileChangelogDB Log file implementation of the ChangelogDB interface.LogCryptoCfg Defines whether and how to encrypt replication changelog files.MultiDomainDBCursor Cursor iterating over all the replication domains known to the changelog DB.ReplicationEnvironment Represents the replication environment, which allows to manage the lifecycle of the replication changelog.