Interface ReplicaChangelog


public interface ReplicaChangelog
It represents the changelog of the replica.

Temporary interface to be able to test the leader based replication in the simulator, which implements fakes objects.

  • Field Details

    • EMPTY_CHANGELOG

      static final ReplicaChangelog EMPTY_CHANGELOG
      An empty changelog.
  • Method Details

    • appendUserRequest

      boolean appendUserRequest(ReplicatedDomain domain, PreOperationOperation operation)
      Appends a user request to the changelog.
      Parameters:
      domain - the replicated domain
      operation - the operation to append
      Returns:
      the CSN of the appended operation
    • csnNow

      CSN csnNow()
      Returns a CSN representing the current time, not attached to an update. It has a similar function to the ChangeTime heartbeat we used to have in MultiMaster Replication
      Returns:
      a CSN representing the current time
    • getChangelogState

      Map<Domain,ReplicaState> getChangelogState()
      Returns the changelog state.
      Returns:
      the changelog state
    • getOldestChangeOfStream

      CSN getOldestChangeOfStream(Domain domain, StreamId streamId)
      Returns the oldest change of the provided stream for the given domain.
      Parameters:
      domain - the domain to get the oldest change from
      streamId - the stream to get the oldest change from
      Returns:
      the oldest change of the provided stream
    • purge

      void purge(Map<Domain,CSN> purgePointByDomain)
      Purges the changelog up to the provided point.
      Parameters:
      purgePointByDomain - the minimum CSN to keep in the changelog by domain
    • shutdown

      void shutdown()
      Shuts down the changelog.
    • start

      void start()
      Starts the changelog.
    • stop

      void stop()
      Stops the changelog.
    • fetchChangelogChanges

      void fetchChangelogChanges(Dn domain, ReplicaState fromStartingPoint, SearchResultHandler handler) throws LdapException
      Fetches changelog changes for the specified domain starting from the given replica state.
      Parameters:
      domain - the base DN of the domain
      fromStartingPoint - the starting point of the changes to fetch
      handler - the handler to process the fetched results
      Throws:
      LdapException