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
Travis Turner
ed1b4fcc2e
Copy fragment data from source nodes in resize instruction.
2017-10-30 13:01:57 -05:00
Travis Turner
2bd0677df9
Remove MaxSlice polling.
...
Add Schema to proto.
Update MaxSlices in proto to include both standard and inverse.
Update LocalStatus (shared in gossip) to include MaxSlices and Schema.
Encode InputDefinitions with Index.
TODO:
- make sure InputDefinitions are considered in LocalStatus merge.
- decide what to do about `/slices/max` endpoint. client.backup is using
it.
2017-10-26 23:48:40 -05:00
Travis Turner
deed9adfe4
Fix existing tests
2017-10-25 11:53:11 -05:00
Travis Turner
a8871ada6a
Convert Host to URI.
...
Fix all compile errors.
2017-10-25 11:52:55 -05:00
Travis
f1e3ac90d4
Determine cluster membership via gossip.
...
Handle resize cluster events.
Add Toplogy support.
Refactor FrameOptions.
Add tests.
2017-10-25 00:27:30 -05:00
Yuce Tekol
a95b09d30d
more host string to uri changes
2017-10-04 15:29:00 +03:00