Unique replication endpoint id.
Names of the event logs managed by this replication endpoint.
Factory of log actor Props
. The String
parameter of the factory is a unique
log id generated by this endpoint. The log actor must be assigned this log id.
Replication connections to other replication endpoints.
Activates this endpoint by starting event replication from remote endpoints to this endpoint.
Replication connections to other replication endpoints.
Delete events from a local log identified by logName
with a sequence number less than or equal to
toSequenceNr
.
Delete events from a local log identified by logName
with a sequence number less than or equal to
toSequenceNr
. Deletion is split into logical deletion and physical deletion. Logical deletion is
supported by any storage backend and ensures that deleted events are not replayed any more. It has
immediate effect. Logically deleted events can still be replicated to remote ReplicationEndpoints.
They are only physically deleted if the storage backend supports that (currently LevelDB only). Furthermore,
physical deletion only starts after all remote replication endpoints identified by remoteEndpointIds
have successfully replicated these events. Physical deletion is implemented as reliable background
process that survives event log restarts.
Use with care! When events are physically deleted they cannot be replicated any more to new replication endpoints (i.e. those that were unknown at the time of deletion). Also, a location with deleted events may not be suitable any more for disaster recovery of other locations.
Events are deleted from the local log with this name.
Sequence number up to which events shall be deleted (inclusive).
A set of remote ReplicationEndpoint ids that must have replicated events to their logs before they are allowed to be physically deleted at this endpoint.
The sequence number up to which events have been logically deleted. When the returned Future
completes logical deletion is effective. The returned sequence number can differ from the requested
one, if:
Unique replication endpoint id.
Factory of log actor Props
.
Factory of log actor Props
. The String
parameter of the factory is a unique
log id generated by this endpoint. The log actor must be assigned this log id.
Returns the unique log id for given logName
.
Names of the event logs managed by this replication endpoint.
The log actors managed by this endpoint, indexed by their name.
Runs an asynchronous disaster recovery procedure.
Runs an asynchronous disaster recovery procedure. This procedure recovers this endpoint in case of total or partial event loss. Partial event loss means event loss from a given sequence number upwards (for example, after having installed a storage backup). Recovery copies events from directly connected remote endpoints back to this endpoint and automatically removes invalid snapshots. A snapshot is invalid if it covers events that have been lost.
This procedure requires that event replication between this and directly connected endpoints is bi-directional and that these endpoints are available during recovery. Recovery is idempotent and must be repeated in failure cases by the application. After successful recovery the endpoint is automatically activated. Activating this endpoint without having successfully recovered from partial or total event loss may result in inconsistent replica states.
The actor system's replication settings.
A replication endpoint connects to other replication endpoints for replicating events. Events are replicated from the connected endpoints to this endpoint. The connected endpoints are replication sources, this endpoint is a replication target. To setup bi-directional replication, the other replication endpoints must additionally setup replication connections to this endpoint.
A replication endpoint manages one or more event logs. Event logs are indexed by name. Events are replicated only between event logs with matching names.