├── .github └── workflows │ └── erlang.yml ├── .gitignore ├── LICENSE ├── Makefile ├── README.md ├── docs ├── Diagrams.drawio ├── balanced.png ├── claim-fixes.md ├── partitioning.md ├── ring-resizing.md └── unbalanced.png ├── include ├── riak_core_handoff.hrl └── riak_core_vnode.hrl ├── rebar.config ├── rebar.config.script ├── rebar.lock ├── src ├── chash.erl ├── chashbin.erl ├── gen_fsm_compat.erl ├── gen_nb_server.erl ├── riak_core.app.src ├── riak_core.erl ├── riak_core_apl.erl ├── riak_core_app.erl ├── riak_core_claim.erl ├── riak_core_claim_util.erl ├── riak_core_claimant.erl ├── riak_core_eventhandler_guard.erl ├── riak_core_eventhandler_sup.erl ├── riak_core_gossip.erl ├── riak_core_handoff_listener.erl ├── riak_core_handoff_listener_sup.erl ├── riak_core_handoff_manager.erl ├── riak_core_handoff_receiver.erl ├── riak_core_handoff_receiver_sup.erl ├── riak_core_handoff_sender.erl ├── riak_core_handoff_sender_sup.erl ├── riak_core_handoff_sup.erl ├── riak_core_node_watcher.erl ├── riak_core_node_watcher_events.erl ├── riak_core_priority_queue.erl ├── riak_core_ring.erl ├── riak_core_ring_events.erl ├── riak_core_ring_handler.erl ├── riak_core_ring_manager.erl ├── riak_core_ring_util.erl ├── riak_core_send_msg.erl ├── riak_core_status.erl ├── riak_core_sup.erl ├── riak_core_test_util.erl ├── riak_core_util.erl ├── riak_core_vnode.erl ├── riak_core_vnode_manager.erl ├── riak_core_vnode_master.erl ├── riak_core_vnode_proxy.erl ├── riak_core_vnode_proxy_sup.erl ├── riak_core_vnode_sup.erl ├── riak_core_vnode_worker.erl ├── riak_core_vnode_worker_pool.erl └── vclock.erl └── test ├── claim_simulation.erl ├── dummy_evt.erl ├── mock_vnode.erl ├── my_ring ├── pqc ├── chash_eqc.erl ├── core_vnode_eqc.erl ├── new_cluster_membership_model_eqc.erl ├── node_watcher_qc.erl ├── riak_core_claim_qc.erl ├── riak_core_claim_statem.erl ├── riak_core_claim_util_qc.erl ├── riak_core_ring_eqc.erl ├── riak_core_ring_util_qc.erl ├── vclock_qc.erl └── worker_pool_pulse.erl ├── riak_core_claim_sim.erl ├── sync_command_test.erl ├── test_guarded_event_handler.erl └── worker_pool_test.erl /.github/workflows/erlang.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/riak-core-lite/riak_core_lite/HEAD/.github/workflows/erlang.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/riak-core-lite/riak_core_lite/HEAD/.gitignore -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/riak-core-lite/riak_core_lite/HEAD/LICENSE -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/riak-core-lite/riak_core_lite/HEAD/Makefile -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/riak-core-lite/riak_core_lite/HEAD/README.md -------------------------------------------------------------------------------- /docs/Diagrams.drawio: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/riak-core-lite/riak_core_lite/HEAD/docs/Diagrams.drawio -------------------------------------------------------------------------------- /docs/balanced.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/riak-core-lite/riak_core_lite/HEAD/docs/balanced.png -------------------------------------------------------------------------------- /docs/claim-fixes.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/riak-core-lite/riak_core_lite/HEAD/docs/claim-fixes.md -------------------------------------------------------------------------------- /docs/partitioning.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/riak-core-lite/riak_core_lite/HEAD/docs/partitioning.md -------------------------------------------------------------------------------- /docs/ring-resizing.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/riak-core-lite/riak_core_lite/HEAD/docs/ring-resizing.md -------------------------------------------------------------------------------- /docs/unbalanced.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/riak-core-lite/riak_core_lite/HEAD/docs/unbalanced.png -------------------------------------------------------------------------------- /include/riak_core_handoff.hrl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/riak-core-lite/riak_core_lite/HEAD/include/riak_core_handoff.hrl -------------------------------------------------------------------------------- /include/riak_core_vnode.hrl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/riak-core-lite/riak_core_lite/HEAD/include/riak_core_vnode.hrl -------------------------------------------------------------------------------- /rebar.config: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/riak-core-lite/riak_core_lite/HEAD/rebar.config -------------------------------------------------------------------------------- /rebar.config.script: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/riak-core-lite/riak_core_lite/HEAD/rebar.config.script -------------------------------------------------------------------------------- /rebar.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/riak-core-lite/riak_core_lite/HEAD/rebar.lock -------------------------------------------------------------------------------- /src/chash.erl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/riak-core-lite/riak_core_lite/HEAD/src/chash.erl -------------------------------------------------------------------------------- /src/chashbin.erl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/riak-core-lite/riak_core_lite/HEAD/src/chashbin.erl -------------------------------------------------------------------------------- /src/gen_fsm_compat.erl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/riak-core-lite/riak_core_lite/HEAD/src/gen_fsm_compat.erl -------------------------------------------------------------------------------- /src/gen_nb_server.erl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/riak-core-lite/riak_core_lite/HEAD/src/gen_nb_server.erl -------------------------------------------------------------------------------- /src/riak_core.app.src: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/riak-core-lite/riak_core_lite/HEAD/src/riak_core.app.src -------------------------------------------------------------------------------- /src/riak_core.erl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/riak-core-lite/riak_core_lite/HEAD/src/riak_core.erl -------------------------------------------------------------------------------- /src/riak_core_apl.erl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/riak-core-lite/riak_core_lite/HEAD/src/riak_core_apl.erl -------------------------------------------------------------------------------- /src/riak_core_app.erl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/riak-core-lite/riak_core_lite/HEAD/src/riak_core_app.erl -------------------------------------------------------------------------------- /src/riak_core_claim.erl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/riak-core-lite/riak_core_lite/HEAD/src/riak_core_claim.erl -------------------------------------------------------------------------------- /src/riak_core_claim_util.erl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/riak-core-lite/riak_core_lite/HEAD/src/riak_core_claim_util.erl -------------------------------------------------------------------------------- /src/riak_core_claimant.erl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/riak-core-lite/riak_core_lite/HEAD/src/riak_core_claimant.erl -------------------------------------------------------------------------------- /src/riak_core_eventhandler_guard.erl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/riak-core-lite/riak_core_lite/HEAD/src/riak_core_eventhandler_guard.erl -------------------------------------------------------------------------------- /src/riak_core_eventhandler_sup.erl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/riak-core-lite/riak_core_lite/HEAD/src/riak_core_eventhandler_sup.erl -------------------------------------------------------------------------------- /src/riak_core_gossip.erl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/riak-core-lite/riak_core_lite/HEAD/src/riak_core_gossip.erl -------------------------------------------------------------------------------- /src/riak_core_handoff_listener.erl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/riak-core-lite/riak_core_lite/HEAD/src/riak_core_handoff_listener.erl -------------------------------------------------------------------------------- /src/riak_core_handoff_listener_sup.erl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/riak-core-lite/riak_core_lite/HEAD/src/riak_core_handoff_listener_sup.erl -------------------------------------------------------------------------------- /src/riak_core_handoff_manager.erl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/riak-core-lite/riak_core_lite/HEAD/src/riak_core_handoff_manager.erl -------------------------------------------------------------------------------- /src/riak_core_handoff_receiver.erl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/riak-core-lite/riak_core_lite/HEAD/src/riak_core_handoff_receiver.erl -------------------------------------------------------------------------------- /src/riak_core_handoff_receiver_sup.erl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/riak-core-lite/riak_core_lite/HEAD/src/riak_core_handoff_receiver_sup.erl -------------------------------------------------------------------------------- /src/riak_core_handoff_sender.erl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/riak-core-lite/riak_core_lite/HEAD/src/riak_core_handoff_sender.erl -------------------------------------------------------------------------------- /src/riak_core_handoff_sender_sup.erl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/riak-core-lite/riak_core_lite/HEAD/src/riak_core_handoff_sender_sup.erl -------------------------------------------------------------------------------- /src/riak_core_handoff_sup.erl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/riak-core-lite/riak_core_lite/HEAD/src/riak_core_handoff_sup.erl -------------------------------------------------------------------------------- /src/riak_core_node_watcher.erl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/riak-core-lite/riak_core_lite/HEAD/src/riak_core_node_watcher.erl -------------------------------------------------------------------------------- /src/riak_core_node_watcher_events.erl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/riak-core-lite/riak_core_lite/HEAD/src/riak_core_node_watcher_events.erl -------------------------------------------------------------------------------- /src/riak_core_priority_queue.erl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/riak-core-lite/riak_core_lite/HEAD/src/riak_core_priority_queue.erl -------------------------------------------------------------------------------- /src/riak_core_ring.erl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/riak-core-lite/riak_core_lite/HEAD/src/riak_core_ring.erl -------------------------------------------------------------------------------- /src/riak_core_ring_events.erl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/riak-core-lite/riak_core_lite/HEAD/src/riak_core_ring_events.erl -------------------------------------------------------------------------------- /src/riak_core_ring_handler.erl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/riak-core-lite/riak_core_lite/HEAD/src/riak_core_ring_handler.erl -------------------------------------------------------------------------------- /src/riak_core_ring_manager.erl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/riak-core-lite/riak_core_lite/HEAD/src/riak_core_ring_manager.erl -------------------------------------------------------------------------------- /src/riak_core_ring_util.erl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/riak-core-lite/riak_core_lite/HEAD/src/riak_core_ring_util.erl -------------------------------------------------------------------------------- /src/riak_core_send_msg.erl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/riak-core-lite/riak_core_lite/HEAD/src/riak_core_send_msg.erl -------------------------------------------------------------------------------- /src/riak_core_status.erl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/riak-core-lite/riak_core_lite/HEAD/src/riak_core_status.erl -------------------------------------------------------------------------------- /src/riak_core_sup.erl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/riak-core-lite/riak_core_lite/HEAD/src/riak_core_sup.erl -------------------------------------------------------------------------------- /src/riak_core_test_util.erl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/riak-core-lite/riak_core_lite/HEAD/src/riak_core_test_util.erl -------------------------------------------------------------------------------- /src/riak_core_util.erl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/riak-core-lite/riak_core_lite/HEAD/src/riak_core_util.erl -------------------------------------------------------------------------------- /src/riak_core_vnode.erl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/riak-core-lite/riak_core_lite/HEAD/src/riak_core_vnode.erl -------------------------------------------------------------------------------- /src/riak_core_vnode_manager.erl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/riak-core-lite/riak_core_lite/HEAD/src/riak_core_vnode_manager.erl -------------------------------------------------------------------------------- /src/riak_core_vnode_master.erl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/riak-core-lite/riak_core_lite/HEAD/src/riak_core_vnode_master.erl -------------------------------------------------------------------------------- /src/riak_core_vnode_proxy.erl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/riak-core-lite/riak_core_lite/HEAD/src/riak_core_vnode_proxy.erl -------------------------------------------------------------------------------- /src/riak_core_vnode_proxy_sup.erl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/riak-core-lite/riak_core_lite/HEAD/src/riak_core_vnode_proxy_sup.erl -------------------------------------------------------------------------------- /src/riak_core_vnode_sup.erl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/riak-core-lite/riak_core_lite/HEAD/src/riak_core_vnode_sup.erl -------------------------------------------------------------------------------- /src/riak_core_vnode_worker.erl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/riak-core-lite/riak_core_lite/HEAD/src/riak_core_vnode_worker.erl -------------------------------------------------------------------------------- /src/riak_core_vnode_worker_pool.erl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/riak-core-lite/riak_core_lite/HEAD/src/riak_core_vnode_worker_pool.erl -------------------------------------------------------------------------------- /src/vclock.erl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/riak-core-lite/riak_core_lite/HEAD/src/vclock.erl -------------------------------------------------------------------------------- /test/claim_simulation.erl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/riak-core-lite/riak_core_lite/HEAD/test/claim_simulation.erl -------------------------------------------------------------------------------- /test/dummy_evt.erl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/riak-core-lite/riak_core_lite/HEAD/test/dummy_evt.erl -------------------------------------------------------------------------------- /test/mock_vnode.erl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/riak-core-lite/riak_core_lite/HEAD/test/mock_vnode.erl -------------------------------------------------------------------------------- /test/my_ring: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/riak-core-lite/riak_core_lite/HEAD/test/my_ring -------------------------------------------------------------------------------- /test/pqc/chash_eqc.erl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/riak-core-lite/riak_core_lite/HEAD/test/pqc/chash_eqc.erl -------------------------------------------------------------------------------- /test/pqc/core_vnode_eqc.erl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/riak-core-lite/riak_core_lite/HEAD/test/pqc/core_vnode_eqc.erl -------------------------------------------------------------------------------- /test/pqc/new_cluster_membership_model_eqc.erl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/riak-core-lite/riak_core_lite/HEAD/test/pqc/new_cluster_membership_model_eqc.erl -------------------------------------------------------------------------------- /test/pqc/node_watcher_qc.erl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/riak-core-lite/riak_core_lite/HEAD/test/pqc/node_watcher_qc.erl -------------------------------------------------------------------------------- /test/pqc/riak_core_claim_qc.erl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/riak-core-lite/riak_core_lite/HEAD/test/pqc/riak_core_claim_qc.erl -------------------------------------------------------------------------------- /test/pqc/riak_core_claim_statem.erl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/riak-core-lite/riak_core_lite/HEAD/test/pqc/riak_core_claim_statem.erl -------------------------------------------------------------------------------- /test/pqc/riak_core_claim_util_qc.erl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/riak-core-lite/riak_core_lite/HEAD/test/pqc/riak_core_claim_util_qc.erl -------------------------------------------------------------------------------- /test/pqc/riak_core_ring_eqc.erl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/riak-core-lite/riak_core_lite/HEAD/test/pqc/riak_core_ring_eqc.erl -------------------------------------------------------------------------------- /test/pqc/riak_core_ring_util_qc.erl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/riak-core-lite/riak_core_lite/HEAD/test/pqc/riak_core_ring_util_qc.erl -------------------------------------------------------------------------------- /test/pqc/vclock_qc.erl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/riak-core-lite/riak_core_lite/HEAD/test/pqc/vclock_qc.erl -------------------------------------------------------------------------------- /test/pqc/worker_pool_pulse.erl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/riak-core-lite/riak_core_lite/HEAD/test/pqc/worker_pool_pulse.erl -------------------------------------------------------------------------------- /test/riak_core_claim_sim.erl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/riak-core-lite/riak_core_lite/HEAD/test/riak_core_claim_sim.erl -------------------------------------------------------------------------------- /test/sync_command_test.erl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/riak-core-lite/riak_core_lite/HEAD/test/sync_command_test.erl -------------------------------------------------------------------------------- /test/test_guarded_event_handler.erl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/riak-core-lite/riak_core_lite/HEAD/test/test_guarded_event_handler.erl -------------------------------------------------------------------------------- /test/worker_pool_test.erl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/riak-core-lite/riak_core_lite/HEAD/test/worker_pool_test.erl --------------------------------------------------------------------------------