Travis Turner
9a2aeac6f8
Clean up logger; make it honor --log-path flag.
...
Add functional options to NewGossipMemberSet.
2018-03-27 08:40:04 -05:00
Travis Turner
2a462d5e42
make sure cluster.Nodes[].IsCoordinator values get updated. return old coordinator node in response.
2018-03-08 14:18:10 -06:00
Travis Turner
fa4e543e84
send a NodeJoin event on startup for cases where a quick restart has occurred and memberlist is not aware of it
2018-03-08 12:42:24 -06:00
Travis Turner
1cc45b22a2
Change Config.Coordinator from URI to bool
2018-03-08 12:42:24 -06:00
Cody Soyland
5a2e1c3703
Merge pull request #1162 from codysoyland/cluster-resize-remove-without-replicas
...
Proper error handling when attempting to remove node when there aren't enough replicas
2018-03-07 13:51:44 -06:00
Cody Soyland
42682e12a8
Address code review: Fix error handling and add comment
2018-03-07 09:45:27 -06:00
Cody Soyland
b7b92913d9
Add comment to listenForJoins
2018-03-06 15:13:24 -06:00
Cody Soyland
d28a30ebd4
Proper error handling when attempting to remove node when there aren't enough replicas
2018-03-06 15:11:46 -06:00
Travis Turner
d0009206b4
add comments to exported methods. remove debugging test.
2018-03-06 12:42:29 -06:00
Travis Turner
29dcfd06da
Merge pull request #1117 from travisturner/cluster-resize-handle-error
...
replace swallowed error with log entry
2018-02-23 16:37:42 -06:00
Travis Turner
52edeb72b4
add validation around node-remove conditions
2018-02-22 12:15:27 -06:00
Travis Turner
c4f6a6beda
Merge branch 'master' into cluster-resize
2018-02-21 16:23:53 -06:00
Travis Turner
666fe22ecb
replace swallowed error with log entry
2018-02-15 12:11:27 -06:00
Travis Turner
346e92a91d
return 0 values for errors. panic on unmarshal node meta data
2018-02-02 15:58:51 -06:00
Travis Turner
86dbbbf393
don't require oldNode in SetCoordinator()
2018-02-02 15:58:51 -06:00
Travis Turner
216ba7a41e
Use NodeID instead of URI for node identification
2018-02-02 15:58:46 -06:00
Travis Turner
878b188155
add accessor method for Node.status
2018-01-24 17:03:58 -06:00
Travis Turner
88fa51e6bf
add lock around Node.status to avoid race condition
2018-01-24 16:03:36 -06:00
Travis Turner
f12527d535
put a mutex around Cluster.State
2018-01-23 16:00:32 -06:00
Travis Turner
e57c125c08
getting some minor fixes out of my stash
2018-01-04 10:45:04 -06:00
Travis Turner
6b3f4d1a64
Merge branch 'master' into cluster-resize
...
Refactored LocalID/ClusterID for use with Topology and Coordinator.
2017-12-18 15:39:50 -06:00
Travis Turner
0342da92bb
WIP: add tests for cluster resize
...
This commit adds support for allocating a gossip transport
and a server listener prior to opening server (and cluster).
Doing that allows tests to use a dynamically allocated port
by supplying bind port: 0.
2017-12-12 16:27:47 -06:00
Travis Turner
cf1e41faf1
Merge branch 'master' into cluster-resize
2017-12-08 15:22:12 -06:00
Todd Gruben
e6adb361b9
cleanup logging
2017-12-07 15:09:42 -06:00
Todd Gruben
9565db43a8
add sort order to URI addition
2017-12-07 14:11:49 -06:00
Todd Gruben
c14bc29041
added logging for node membership
2017-12-07 11:17:37 -06:00
Todd Gruben
f17a399a37
adjust to single http client
2017-12-07 08:33:26 -06:00
Travis Turner
073848ae31
Make sure node gets removed from all nodeSets after resize
2017-12-04 18:03:23 -06:00
Travis Turner
59cdd5dde9
Add HolderCleaner and view.DeleteFragment to support post-resize cleanups
...
Add tests for view.DeleteFragment and HolderCleaner
2017-12-04 18:03:22 -06:00
Travis Turner
8228ef2382
Add a Cluster.Static override for tests to treat static nodes as
...
Coordinator.
Refactor the Server.joining channel to be in Cluster instead.
2017-11-28 16:40:05 -06:00
Travis Turner
ccdd6262c5
add error logging for non-topology nodeJoin
2017-11-28 12:43:49 -06:00
Travis Turner
ae63adfaac
let remote nodes know that its safe to open Holder when launching based on existing taxonomy
2017-11-27 11:06:03 -06:00
Travis Turner
013cd0cd95
refactor resize instruction logic to support multi-index. wait to open holder on non-coordinator nodes.
2017-11-27 11:06:03 -06:00
Travis Turner
f2c32f8ec9
add logging support to ResizeJob
2017-11-27 11:06:03 -06:00
Travis Turner
bd511dae80
ensure that holder opens before node is deemed ready
2017-11-27 11:06:03 -06:00
Travis Turner
a13db570cc
WIP: Wait for nodeState on Holder.Open().
...
Implement prefect in Cluster so a node can start http listener in a
restricted mode.
Adjust tests; particularly start test.Holder in state Normal.
TODO:
- [ ] fix test TestMain_SendReceiveMessage
- [ ] add additional tests for `nodeState`
2017-11-27 11:06:03 -06:00
Travis Turner
a98b862fca
add /cluster/resize/remove-node endpoint
2017-11-27 11:06:02 -06:00
Travis Turner
426992bc59
add set-coordinator endpoint
2017-11-15 09:13:52 -06:00
Michael Baird
59035883f4
group the write operations in syncBlock by MaxWritesPerRequest
2017-11-10 15:03:23 -06:00
Travis Turner
9d87019762
WIP: don't block joining nodes while coordinator loads data.
...
Implements a Holder.Peek() function, and breaks out
Cluster.ListenForJoins() into a separate method that can be started
after the Holder finishes loading data.
TODO:
- [ ] test Holder.Peek()
2017-11-10 09:14:13 -06:00
Travis Turner
e641aa1d8a
Merge branch 'master' into 'cluster-resize'
2017-11-07 15:00:11 -06:00
Travis Turner
c7c1be6813
change read lock to write lock
2017-11-03 17:43:05 -05:00
Travis Turner
73b9d9fd85
Add Cluster resize tests.
...
Consolidate schema creation into Holder.ApplySchema.
Add view names to proto schema.
2017-11-03 17:22:39 -05:00
Travis Turner
7d300e7080
include Schema in pb.ResizeInstructions
2017-11-03 11:21:53 -05:00
Travis Turner
da0184f728
Adjust comments. Change DefaultSecurityManager to NopSecurityManager.
2017-10-31 13:56:58 -05:00
Todd Gruben
9b7adde692
added endpoint protection for cluster resize
2017-10-31 11:32:08 -05:00
Travis Turner
fb08fd3902
endpoint to abort a cluster resize that is in progress
2017-10-30 15:50:22 -05:00
Travis Turner
f2d28a1df9
make note of a possible race condition
2017-10-30 14:28:45 -05:00
Travis Turner
ed7dcdcdef
rename NodeState to ClusterState
2017-10-30 13:09:27 -05:00
Travis Turner
f4b0729458
Rename structs and funcs.
...
NodeSet -> MemberSet
URISet -> NodeSet
AddNode -> AddNodeBasicSorted
AddHost -> AddNode
2017-10-30 13:03:55 -05:00