Commit graph

169 commits

Author SHA1 Message Date
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
Yuce Tekol
1bedfd6585
use URI instead of host 2017-10-04 08:20:00 +03:00
Travis
a3b1b2ee1a
DefaultClusterType = ClusterGossip
This commit removes the `httpbroadcast` NodeSet, sets the default cluster type
to `gossip`, and uses the `static` cluster type for most test cases.
2017-08-07 08:25:35 -05:00
Michael Baird
bd44949cb5 Merge remote-tracking branch 'origin/master' into metrics
Conflicts:
	config.go
	executor_test.go
	server/server.go
2017-05-09 11:31:14 -05:00
Michael Baird
bf6ed942f0 Merge pull request #8 from alanbernstein/stats
Stats
2017-05-09 11:15:23 -05:00
Matt Jaffee
c828953702 change the default num and try to fix some tests 2017-05-01 16:58:45 -05:00
Michael Baird
25227787fc rename var 2017-05-01 10:56:12 -05:00
Michael Baird
ee159b455d Merge remote-tracking branch 'origin/master' into metrics
Conflicts:
	.gitignore
	cluster.go
	frame.go
	glide.lock
	index.go
2017-05-01 10:41:04 -05:00
Cody Soyland
3996b56b88 Apply Apache License 2.0 2017-04-28 14:22:03 -05:00
Michael Baird
6fa4c61061 pluralized owns slices function 2017-04-26 16:46:18 -05:00
Michael Baird
6a8e205769 Use OwnsSlice to determine the slice list per node and index for the Cluster Node Status. 2017-04-26 16:19:59 -05:00
Michael Baird
d2a7869142 comment cleanup 2017-04-25 16:40:39 -05:00
Michael Baird
fe0e8a3c5b fixed enum comments 2017-04-25 15:27:10 -05:00
Michael Baird
66496a73d7 additional comments for config 2017-04-25 13:57:20 -05:00
Michael Baird
e699c55700 fixed conflicts from the db index change
Conflicts:
	cluster.go
	executor_test.go
	handler_test.go
	server.go
2017-04-25 11:47:29 -05:00
Michael Baird
a543ba21bb fixed DB to index conflicts after merge 2017-04-24 21:59:39 -05:00
Michael Baird
5a8c165c53 Merge remote-tracking branch 'origin/master' into metrics
Conflicts:
	cache.go
	cluster.go
	db.go
	executor.go
	fragment.go
	frame.go
	gossip/gossip.go
	handler.go
	index.go
	server.go
	server/server.go
2017-04-24 16:35:25 -05:00
Michael Baird
5857438d8b fixed state to status 2017-04-24 13:56:26 -05:00
Travis
74bf4731f5
WIP: Implement NodeState as an attribute of *Node
NodeState is shared among nodes in the cluster (via gossip
in a gossip implementation) and cached locally in Cluster.Nodes
in order to be available to the /status endpoint.
2017-04-24 12:33:43 -05:00
Alan Bernstein
615c830ecc Move LongQueryTime to Cluster 2017-04-24 11:31:50 -05:00
Travis
2ad322c2c7
Rename DB to Index
Rename `db.go` to `index.go` and `db_test.go` to `index_test.go`
2017-04-23 21:49:27 -05:00
Michael Baird
539b134e10 Store the node state information in Cluster
Access the overall cluster state info via the /status endpoint
2017-04-20 14:23:24 -05:00
Travis
dcaf7617de
changed some json tag names to Lower Camel Case to be consistent with the rest 2017-04-19 14:01:46 -05:00
Travis
b4a69be751 Add support for Node.InternalHost.
This was required for the HTTPBroadcaster to run locally on different InternalPorts.
2017-04-19 10:37:00 -05:00