Rambling 'slf/doc-cluster-terminology' branch #58

Merged
slfritchie merged 26 commits from slf/doc-cluster-terminology into master 2016-02-16 03:47:30 +00:00
slfritchie commented 2016-02-15 09:09:06 +00:00 (Migrated from github.com)

Due both to a pause in Machi development and to a change of development priorities, this branch has a very broad scope. It started as API + doc changing, and then turned into some refactoring and lots of broken unit test fixing.

Major items:

  • Doc & code terminology change: the phrase "cluster of clusters" is gone, hooray.
  • Change of the clustering API to use terms "name space" (string) and "cluster locator" (number).
  • Add new image from end-of-year whiteboard: doc/process-protocol-module-overview.jpg
  • Other Protocol Buffers API: option renumbering: cluster namespace args use positions 1-9, required args at 10-19, and optional args at 20-. Also change to boolean types for boolean-style args.
  • Default namespace = <<>>, default cluster locator = 0. These are sufficient for single chain use, not so convenient for migrating existing files from single chain -> cluster-multi-chain systems.
  • Fix for machi_ap_repair_eqc's double-write test failures.
  • Return type bug for read-repair functions in src/machi_cr_client.erl
  • Erlang type spec cleanup (src/machi_dt.erl)
  • Added lots of implementation notes at the top of src/machi_flu1_client.erl
  • Fix all (?) instances of PB type conversion of Path & Prefix to/from binary(). The PB API + auto-gen'ed code converts to Erlang string.
  • Net server implementation change of low & high tuple naming convention, to simplify the code (I hope)

To do before final PR merge:

  • basho_bench plugin: fix it

Won't fix in this PR:

  • yessir client
Due both to a pause in Machi development and to a change of development priorities, this branch has a very broad scope. It started as API + doc changing, and then turned into some refactoring and lots of broken unit test fixing. Major items: - Doc & code terminology change: the phrase "cluster of clusters" is gone, hooray. - Change of the clustering API to use terms "name space" (string) and "cluster locator" (number). - Add new image from end-of-year whiteboard: doc/process-protocol-module-overview.jpg - Other Protocol Buffers API: option renumbering: cluster namespace args use positions 1-9, required args at 10-19, and optional args at 20-. Also change to boolean types for boolean-style args. - Default namespace = <<>>, default cluster locator = 0. These are sufficient for single chain use, not so convenient for migrating existing files from single chain -> cluster-multi-chain systems. - Fix for machi_ap_repair_eqc's double-write test failures. - Return type bug for read-repair functions in src/machi_cr_client.erl - Erlang type spec cleanup (src/machi_dt.erl) - Added lots of implementation notes at the top of src/machi_flu1_client.erl - Fix all (?) instances of PB type conversion of Path & Prefix to/from binary(). The PB API + auto-gen'ed code converts to Erlang string. - Net server implementation change of low & high tuple naming convention, to simplify the code (I hope) To do before final PR merge: - basho_bench plugin: fix it Won't fix in this PR: - yessir client
jadeallenx commented 2016-02-15 21:05:03 +00:00 (Migrated from github.com)

Wow, a lot of good changes here. I like what I see so far. I am having some intermittent test failures but they are due to file descriptor exhaustion (i.e., false positives) and I have gotten clean results - 100% success a few times.

👍

Wow, a lot of good changes here. I like what I see so far. I am having some intermittent test failures but they are due to file descriptor exhaustion (i.e., false positives) and I have gotten clean results - 100% success a few times. :+1:
slfritchie commented 2016-02-16 05:30:22 +00:00 (Migrated from github.com)

Oops, I forgot to add one thing. Mark and I agreed that I'd leave the basho_bench changes for a separate PR.

Oops, I forgot to add one thing. Mark and I agreed that I'd leave the basho_bench changes for a separate PR.
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: greg/machi#58
No description provided.