Commit graph

229 commits

Author SHA1 Message Date
Matt Jaffee
3b8b190849
add nolint unparam for setStateAndBroadcast 2018-07-19 09:17:36 -05:00
Matt Jaffee
d8597f320a
Merge branch 'master' into 1370-cluster-locking 2018-07-19 08:57:28 -05:00
Matt Jaffee
e1e4df67bc
fix race conds and add more locking/annotation 2018-07-18 16:47:24 -05:00
Cody Soyland
a962a0c526 Fix linter issues: deadcode 2018-07-17 17:17:42 -05:00
Matt Jaffee
fa755fdd81
fix ClusterCluster not to broadcast to self.
stops deadlock when cluster has appropriate internal locking
2018-07-17 16:34:49 -05:00
Matt Jaffee
7efdacd028
rename setState to unprotected 2018-07-17 16:34:48 -05:00
Matt Jaffee
18321b88f9
rename setID as unprotected and add some "unprotected" comments 2018-07-17 16:34:48 -05:00
Matt Jaffee
04bdc67d7f
rename a few things to unprotected* and use safe coordinatorNode in setNodeState 2018-07-17 16:34:48 -05:00
Matt Jaffee
8b2d8295d1
rename cluster.coordinatorNode to unprotectedCoordinatorNode 2018-07-17 16:34:48 -05:00
Cody Soyland
f9625ef4fa Fix linter issues: unparam 2018-07-17 12:05:07 -05:00
Cody Soyland
1af66417e1 Unexport Topology.ClusterID 2018-07-05 23:11:56 -05:00
Cody Soyland
9c160ee65e Unexport Topology.NodeIDs 2018-07-05 23:11:56 -05:00
Cody Soyland
e52f713406 Unexport Topology.RemoveID 2018-07-05 23:11:56 -05:00
Cody Soyland
65472609a5 Unexport Topology.Encode 2018-07-05 23:11:56 -05:00
Cody Soyland
3f7f82bf05 Unexport Topology.AddID 2018-07-05 23:11:56 -05:00
Cody Soyland
3e91a0d32c Unexport NodeStateReady 2018-07-05 23:11:56 -05:00
Cody Soyland
9222ef0df7 Unexport NodeIDs 2018-07-05 23:11:56 -05:00
Cody Soyland
2031345c86 Unexport NewTopology 2018-07-05 23:11:56 -05:00
Cody Soyland
0907ee5854 Unexport NewNopInternalClient 2018-07-05 23:11:56 -05:00
Cody Soyland
c102143b50 Unexport DefaultPartitionN 2018-07-05 23:11:56 -05:00
Matt Jaffee
e33682cfd2
address feedback 2018-07-05 17:38:49 -05:00
Matt Jaffee
0a94d2f10d
Merge branch 'develop' into core-structs 2018-07-05 16:38:14 -05:00
Matt Jaffee
bbb93abd57
remove lots of unused code 2018-07-05 15:35:32 -05:00
Matt Jaffee
2cec75e399
add proto encoding subpackage and use for send and receive message 2018-07-05 12:00:42 -05:00
Matt Jaffee
1b2aaa26bf
export NodeEvent 2018-07-05 09:26:58 -05:00
Matt Jaffee
6417f468bb
wip implement more... still quite broken 2018-07-04 16:50:20 -05:00
Travis Turner
1fb8330c8c
remove some dead code highlighed by the unexport script 2018-07-04 12:27:42 -05:00
Matt Jaffee
4ef8fff9b6
WIP, broken. refactoring to isolate intneral structs and define core structs 2018-07-04 07:29:16 -05:00
Matt Jaffee
06ad83b64b
more unexports - index methods and fields 2018-07-03 08:10:33 -05:00
Matt Jaffee
f78af41565
unexport cluster's newhasher func 2018-07-02 17:25:21 -05:00
Matt Jaffee
009242fef9
unexport more Holder stuff (gorename) 2018-07-02 14:07:06 -05:00
Matt Jaffee
9995b0032e
unexport Holder.Fragment, HolderSyncer and HolderCleaner 2018-07-02 14:00:31 -05:00
Matt Jaffee
4182678d5a
work on unexporting View stuff 2018-07-02 10:11:56 -05:00
Matt Jaffee
3be609ed10
unexport newCluster and some other stuff 2018-07-02 09:10:09 -05:00
Matt Jaffee
9ea300da20
unexport broadcaster 2018-07-02 08:34:58 -05:00
Matt Jaffee
7801b81b10
unexport cluster (gorename) 2018-07-02 07:56:51 -05:00
Matt Jaffee
2e15db7ce0
Merge branch 'develop' into more-gossip-stuff 2018-06-29 06:49:13 -05:00
Matt Jaffee
91454a5cd0
collapse *handler interfaces into MemberServer
gossip now takes a single "MemberServer" which is implemented by server. Several
interfaces have been removed.

MemberServer contains ReceiveMessage which is a superset of the functionality of
ReceiveEvent, LocalStatus and HandleRemoteStatus are all that's left of
StatusHandler -  ClusterStatus was not used and is gone. The Node() method is
actually a subset of LocalStatus() functionality. Maybe we should break up
localstatus or remove Node... not sure.

Remove BroadcastReceiver test which was a bit silly.

NodeEvent can now be unexported, and is.
2018-06-28 17:16:08 -05:00
Travis Turner
5dd7a9556a
rename slice to shard 2018-06-28 14:07:07 -05:00
Matt Jaffee
648cfe7ad0
unexport Cluster fields which could be automatically unexported 2018-06-27 15:39:12 -05:00
Matt Jaffee
d6029e64fc
remove EventReceiver - not used anymore 2018-06-27 15:33:53 -05:00
Matt Jaffee
41bdfceb57
remove MemberSet from cluster, Open in server package 2018-06-27 07:22:32 -05:00
Matt Jaffee
bcb6942c80
continue simplifying memberset and pilosa setup
since the gossip MemberSet has access to Server, it wasn't really necessary to
pass it a Node object when calling Open on it from Cluster. The end goal is to
have it be removed from Cluster entirely, and have it be Opened externally, and
this is a step toward that.

Exposing Node method on Server doesn't really expose any more than was already
there as the same info can be gotten from LocalStatus with a bit of type
casting. I figured adding the method was a little cleaner, and we could collapse
all the functionality when the dust has settled.

The Cluster.open method has been broken into two parts - one of which happens
earlier (at NewServer time), and the other will eventually just be "waiting to
make sure we've joined the cluster". Right now it's calling Memberset.Open, and
then waiting to make sure the cluster has been joined.
2018-06-26 14:36:05 -05:00
Matt Jaffee
ee37152cd5
consolidate gossipEventReceiver into gossip member set
pilosa.Server now implements StatusHandler and EventReceiver and needs only
start a gossip memberset. A gossip member set now takes a server as an argument
explicitly and the maze of handlers and receivers and the starting sequence is
somewhat simplified.

Server now trivially implements EventHandler by passing the call along to its
Cluster object which has the actual implementation. This means that less things
will need to refer to cluster.
2018-06-26 07:50:33 -05:00
Matt Jaffee
7a5adf7428
Merge branch 'develop' into wip-api-refactor 2018-06-22 12:46:19 -05:00
Matt Jaffee
80f5b13a97
Merge branch 'develop' into newpql 2018-06-22 09:11:00 -05:00
Alan Bernstein
35526dd0d7 Update to new PQL syntax beyond the parser 2018-06-22 08:11:27 -05:00
Matt Jaffee
c9479afe8c
start handler before server.Open to avoid stall in cluster.open
cluster.open waits for node to join cluster if it is not the coordinator, and
currently this relies on having the http handler able to receive messages, so
handler needs to be started first.
2018-06-21 13:56:46 -05:00
Matt Jaffee
343880e0ad
remove broadcaster from server 2018-06-20 13:13:35 -05:00
Matt Jaffee
69b1f2ea97
make behavior equivalent to pre-change to stop test from failing 2018-06-19 17:02:44 -05:00