mirror of
https://github.com/zrepl/zrepl.git
synced 2024-12-22 15:11:16 +01:00
292b85b5ef
- drop HintMostRecentCommonAncestor rpc call - it is wrong to put faith into the active side of the replication to always make that call (we might not trust it, ref pull setup) - clean up step holds + step bookmarks + replication cursor bookmarks on send RPC instead - this makes it symmetric with Receive RPC - use a cache (endpoint.sendAbstractionsCache) to avoid the cost of listing the on-disk endpoint abstractions state on every step The "create" methods for endpoint abstractions (CreateReplicationCursor, HoldStep) are now fully idempotent and return an Abstraction. Notes about endpoint.sendAbstractionsCache: - fills lazily from disk state on first `Get` operation - fill from disk is generally only attempted once - unless the `ListAbstractions` fails, in which case the fill from disk is retried on next `Get` (the current `Get` will observe a subset of the actual on-disk abstractions) - the `Invalidate` method is called - it is a global (zrepl process-wide) cache fixes #316 |
||
---|---|---|
.. | ||
context.go | ||
endpoint_metrics.go | ||
endpoint_send_abstractions_cache.go | ||
endpoint_zfs_abstraction_cursor_and_last_received_hold.go | ||
endpoint_zfs_abstraction_step.go | ||
endpoint_zfs_abstraction_test.go | ||
endpoint_zfs_abstraction.go | ||
endpoint_zfs_helpers_repr_test.go | ||
endpoint_zfs_helpers_repr.go | ||
endpoint_zfs_helpers_types.go | ||
endpoint.go | ||
jobid.go |