Skip to content

Replication reference with node_confirms #1857

Open
@martinsumner

Description

When replicating objects using nextgenrepl, the sink cluster will issue fetch requests from the source cluster. These fetch requests will read from the real-time queue any item ready for replication. the item will either be:

  • An actual object which has recently been PUT;
  • A reference to an object which exists in the store;
  • A delete reference.

The second case will commonly occur when a repl_keys_range aae_fold has been made (but also when the real-time queue has grown during a busy period).

In the case of an object reference being read from the queue, a standard GET request will be used to return the actual object to the sink.

That GET request will have some specific options to improve performance:

Options = [deletedvclock, {pr, 1}, {r, 1}, {notfound_ok, false}],

These objects allow the object to be returned to the client as soon as an object matching the expected vector clock has been returned. As this might happen after only 1 read, the R/PR settings over-ride any bucket property requiring a higher R value.

However, if the bucket has node_confirms set to a value more than 1 - the response will fail validation at this stage.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions