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
Matt Jaffee
d2621709f1
move NodeSet out of cluster.go into broadcast and messenger
...
HTTP implementation will be split into separate package.
2017-04-19 10:36:27 -05:00
Matt Jaffee
4b8c2630e3
split MessageBroker.Send into SendSync and SendAsync
2017-04-19 10:34:30 -05:00
Matt Jaffee
5079ee7a22
remove messenger "wrapper" around messagebroker
...
all the functionality aside from the broker has been removed
2017-04-19 10:33:59 -05:00
Matt Jaffee
10a6cead17
remove unused methods on StaticNodeSet
...
these used to implement the NodeSet interface, but they've since been removed
from NodeSet
2017-04-19 10:33:26 -05:00
Matt Jaffee
340cbc0cd0
fix comment s/list/map
2017-04-19 10:33:26 -05:00
Travis
b0f1fc7523
Makes Messenger a first-class object under Server (with pointers in Handler and Index).
...
Primary message interface is the MessageBroker which is an attribute of the Messenger.
MessageBroker implementations:
- Gossip (memberlist)
- Broadcast (uses HTTP, received by existing Handler)
- Static (no-ops)
Changes CacheSize from `int` to `uint32` for consistency with protobuf.
Removes unnecessary dependencies in glide:
- `github.com/aws/aws-sdk-go`
- `golang.org/x/net` (although this gets included by memberlist)
TODO:
- [ ] Add tests around the Messenger and MessageBroker objects.
- [ ] Refactor CreateSliceMessage to work with views.
- [ ] Support propogation of meta data on PATCH calls.
fixing some issues from last rebase
2017-04-19 10:33:26 -05:00
Travis
13e08ac3a5
add tests for HTTPNodeSet
2017-04-19 10:24:00 -05:00
Travis
3abfea140b
placeholder for localNode in HTTPNodeSet
2017-04-19 10:24:00 -05:00
Travis
8fa45649b6
WIP: Added support for NodeState.
...
Modified the gossip implementation to optionally send messages directly (instead of over gossip).
Added support for local and remote NodeState, as well as function to merge remote into local state.
Refactored Protobuf models to include `DBMeta` and `FrameMeta` as well as support for NodeState.
2017-04-19 10:19:17 -05:00
Travis
2b35df879c
WIP: first pass at sending CreateDB() through Messenger
2017-04-19 10:15:57 -05:00