Skip to content

Two vnodes in the same preflist with the same vnode_id - amnesia chaos #1865

@martinsumner

Description

@martinsumner

The assigning of vnode ID is based on node ID and timestamp:

https://github.com/basho/riak_kv/blob/develop-3.0/src/riak_kv_vnode_status_mgr.erl#L342-L354

Vnodes on the same node are started in parallel, and so can have the same node ID and timestamp. If the cluster is too small for claim to be effective, then two vnodes within the same preflist may be started on the same node. In this circumstance, and write of a key co-ordinated by either vnode will cause key-amnesia then read repair will be prompted by that key amnesia in a continuous and never-ending loop.

There is potentially no recovery from this situation.

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