featurebase/server
Travis Turner d28170ddc6
Syncs AvailableShards when handling a ResizeInstruction.
There was a situation where availableShards on a new
node were not in sync with the cluster, so queries
following a resize were incorrect.
- Start a one-node cluster.
- Write data to shards 0 and 1
- Start a second node.
In the case where the hash algo was moving shard 0 to
node1, then node1 only knew about shard 0, so queries
to node1 would be incomplete.

This PR modifies the ResizeInstruction message to replace
`Schema` with `NodeStatus` (which contains both `Schema` and
`AvailableShards`). So now when a resize instruction is received,
the receiving node is able to sync its schema and availableShards.
2018-12-18 08:34:48 -06:00
..
cluster_test.go Syncs AvailableShards when handling a ResizeInstruction. 2018-12-18 08:34:48 -06:00
config.go Add distributed tracing. 2018-11-21 15:08:33 -06:00
config_test.go Fix linter issues: staticcheck (covered by megacheck, along with gosimple and unused) 2018-07-20 11:19:24 -05:00
default.go Unexport server.DefaultDiagnosticsInterval 2018-07-05 23:11:56 -05:00
enterprise.go Add missing license headers. 2018-05-15 12:26:33 -05:00
handler_test.go updated translate keys test to include new keys 2018-11-26 17:52:53 +03:00
release.go Unexport server.DefaultDiagnosticsInterval (in release tag) 2018-07-05 23:11:57 -05:00
server.go Use syscall.Dup3 on ARM64 as Dup2 is unsupported 2018-11-27 11:03:59 -06:00
server_test.go propogate updates to node details (not just additions and deletions) 2018-12-04 14:03:14 -06:00
setup_logger.go Use syscall.Dup3 on ARM64 as Dup2 is unsupported 2018-11-27 11:03:59 -06:00
setup_logger_arm64.go Use syscall.Dup3 on ARM64 as Dup2 is unsupported 2018-11-27 11:03:59 -06:00