ExStorageService.CrossClusterReplication.Handler (ex_storage_service v0.6.3)

Copy Markdown View Source

Idempotent handlers for eventual external-replication jobs.

Before applying a job, the handler compares its pinned object with the current local head. Superseded PUTs are acknowledged without changing the destination. A DELETE job reconciles the destination to the current head, which prevents delayed work from deleting newer data and also handles an explicit version deletion that reveals an older current version.

Summary

Functions

perform(job, context, opts \\ [])

@spec perform(map(), ExStorageService.Context.t(), keyword()) ::
  :ok | {:error, term()}