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

    • INTERNAL_CHANGELOG

      static final String INTERNAL_CHANGELOG
      The DN of the internal changelog backend.
      See Also:
    • DN_INTERNAL_CHANGELOG

      static final Dn DN_INTERNAL_CHANGELOG
      The DN of the internal changelog backend.
    • EMPTY_CHANGELOG

      static final ReplicaChangelog EMPTY_CHANGELOG
      An empty changelog.
  • Method Details

    • appendUserRequest

      boolean appendUserRequest(PreOperationOperation operation)
      Appends a user request to the changelog.
      Parameters:
      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

      ReplicaState getChangelogState()
      Returns the changelog state.
      Returns:
      the changelog state
    • getOldestChangeOfStream

      CSN getOldestChangeOfStream(StreamId streamId) throws ChangelogException
      Returns the oldest change of the provided stream.
      Parameters:
      streamId - the stream to get the oldest change from
      Returns:
      the oldest change of the provided stream
      Throws:
      ChangelogException
    • handleRequest

      void handleRequest(Request request, Consumer<Response> responseProcessor)
      Handles a search request to changelog backend.
      Parameters:
      request - the request to handle
      responseProcessor - the response processor
    • purge

      void purge(CSN purgePoint)
      Purges the changelog up to the provided point.
      Parameters:
      purgePoint - the minimum CSN to keep in the changelog
    • shutdown

      void shutdown()
      Shuts down the changelog.
    • start

      void start()
      Starts the changelog.
    • stop

      void stop()
      Stops the changelog.