Will Fitzgerald
5a56b33826
fix minor spelling errors
2018-05-01 05:45:19 -04:00
Matthew Jaffee
9f1720f01d
unexport stuff in pilosa.Server
...
refactor gossip.NewGossipMemberset to not take Server
2018-04-23 15:12:23 -05:00
Matthew Jaffee
876ed56e30
move pilosa.Config to pilosa/server.Config
...
step 1 of #1203
The Config object is really just a specification of the options to pilosa
server, so it makes sense to have it in that package.
2018-04-19 14:51:42 -05:00
Travis Turner
d113ebe147
Support --verbose logging
2018-03-27 08:40:05 -05:00
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
0ca7cfe498
Change Seeds() to GetBindAddr() to clarify GossipMemberSet testing.
2018-03-23 16:34:19 -05:00
Travis Turner
8686a8645c
Default gossip seed should be empty instead of local bind address
2018-03-23 15:11:45 -05:00
Travis Turner
836c8f4c2f
remove the Gossip stutter from memberlist-related config options
2018-03-19 14:29:53 -05: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
c3f25e6d2c
Merge pull request #1143 from travisturner/scheme-in-bind-addr
...
handle the scheme correctly in config.Bind
2018-02-23 14:20:59 -06:00
Travis Turner
3d1538d53c
handle the scheme correctly in config.Bind
2018-02-23 10:48:55 -06:00
Cody Soyland
a23fe86839
Convert gossip seed string to slice
2018-02-22 13:14:45 -06:00
Cody Soyland
fc6b0ea0e8
Add support for comma-separated list of gossip seeds for redundancy.
2018-02-22 11:45:50 -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
216ba7a41e
Use NodeID instead of URI for node identification
2018-02-02 15:58:46 -06:00
Travis Turner
c0fab2bcee
Merge branch 'master' into cluster-resize
2018-01-17 12:55:12 -06:00
Matthew Jaffee
0ac8648ea9
add NewServerCluster(size int) method to pilosa/test
2018-01-12 16:29:32 -06:00
Travis Turner
780078e427
add context to errors in gossip member set
2017-12-28 10:37:58 -06:00
Travis Turner
009a2482b4
change gossip config from memberlist.DefaultLocalConfig to memberlist.DefaultWANConfig
2017-12-22 17:06:24 -06:00
Travis Turner
78cddbd0c7
Add the rest of the available memberlist configuration options
...
into pilosa.Config.Gossip.
2017-12-15 12:37:51 -06:00
Travis Turner
2afbdba1c5
add lock protection around gossip.memberlist and holder.indexes
2017-12-13 08:54:11 -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
9667a04cad
Merge branch 'master' into cluster-resize
2017-12-08 17:56:31 -06:00
Travis Turner
cf1e41faf1
Merge branch 'master' into cluster-resize
2017-12-08 15:22:12 -06:00
Travis Turner
637111a76c
Change Broadcaster.SyndSync to send direct via http
...
as opposed to using memberlist's gossip broadcast.
Introduce a Gossiper interface for SendAsync gossip messages.
2017-12-08 09:00:47 -06:00
Michael Baird
9cf994bda7
Use the Broadcast Handler's SendSync implementation rather than Gossip
2017-12-08 08:22:59 -06:00
Travis Turner
9b54259cd7
Resume test: TestMain_SendReceiveMessage
...
Create a custom memberlist NetTransport (which will bind to an available
port when port = 0 in the configuration). This allows us to bind
to dynamic ports in tests while at the same time determining a valid
seed for the cluster.
2017-12-04 14:56:21 -06:00
Travis Turner
ccdd6262c5
add error logging for non-topology nodeJoin
2017-11-28 12:43:49 -06:00
Travis Turner
a98b862fca
add /cluster/resize/remove-node endpoint
2017-11-27 11:06:02 -06: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
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
eec739c331
Adds gossip encryption key; copies Config.Gossip{Port,Seed} to Config.Gossip.{Port,Seed}, deprecates --gossip-port and --gossip-seed. Use --gossip.port and --gossip.seed
2017-10-13 13:30:41 +03:00
Yuce Tekol
3501732b19
https with signed certificates work
2017-10-08 21:11:19 +03:00
Matthew Jaffee
81d0f25ba1
re-arrange GossipNodeSet.Open to hopefully avoid race
2017-08-21 17:08:57 -05:00
Travis
c4a4f0dcc4
don't normalize bind address after all, just have it use defaults when necessary
2017-08-07 08:25:35 -05: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
Alan Bernstein
d96a121347
Simplify function arguments
2017-06-27 09:52:40 -05:00
Alan Bernstein
12e6b22abe
WIP replace fmt prints with logger prints and Stderr with LogOutput
2017-06-23 17:27:57 -05:00
Cody Soyland
3996b56b88
Apply Apache License 2.0
2017-04-28 14:22:03 -05:00
Michael Baird
2f876c46a6
Broadcaster comment corrections
2017-04-25 22:25:10 -05:00
Michael Baird
e2cab9b5a9
adding gossip comments
2017-04-25 17:00:02 -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
Travis
a4921ac55a
remove leftover Receive() method from gossip implementation
2017-04-20 15:14:11 -05:00
Matt Jaffee
c4d3bde501
move gossip code to separate package
2017-04-19 10:36:27 -05:00