Commit graph

147 commits

Author SHA1 Message Date
Travis Turner
c0fab2bcee
Merge branch 'master' into cluster-resize 2018-01-17 12:55:12 -06:00
Travis Turner
3fc2f27710
add some statsd calls to HolderSyncer 2018-01-11 14:57:45 -06:00
Matthew Jaffee
59bd2da93f
fix a number of data races
datadog statsd client contained a race condition - was fixed in master

Server.Logger contained a race where multiple loggers could write to the same
output io.Writer

TestMain_FrameRestore contained a race where it tried to change a cluster's
nodes while it was running (which conflicted with antiEntropy reading that
state).
2018-01-09 13:31:17 -06:00
Travis Turner
3631cfc314
Merge pull request #1014 from travisturner/cluster-resize-gossip-config
Cluster resize gossip config
2018-01-03 11:20:20 -06:00
Travis Turner
17484fd73e
make sure the holder has opened before merging NodeStatus 2017-12-20 16:42:58 -06:00
Yuce Tekol
a7c76f09ad
Merge pull request #1016 from yuce/990-diagnostics-schema-fields
Added BSIFieldCount diagnostics; refactored schema diagnostics
2017-12-20 07:48:10 +03:00
Cody Soyland
8135eca1ca
Merge pull request #1019 from codysoyland/1018-handler-error
Close HTTP handler gracefully (Fixes #1018)
2017-12-19 16:10:56 -06:00
Yuce Tekol
bdf813d7ee
update 2017-12-19 23:59:04 +03:00
Travis Turner
52897421ad
fix comment 2017-12-19 11:07:34 -06:00
Cody Soyland
2345ae0004 Close HTTP handler gracefully (Fixes #1018) 2017-12-19 11:01:36 -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
Yuce Tekol
7355f97b62
Added BSIFieldCount diagnostics; refactored schema diagnostics 2017-12-18 18:07:31 +03:00
Yuce Tekol
94360e77e3
Adds CPU and mem info to the diagnostics payload. Implements #988, #989 2017-12-18 16:22:38 +03:00
Travis Turner
d2d0756f4a
Define default config values for pilosa server in NewConfig rather than
flags. Based on work done in #885.
2017-12-15 15:07:02 -06:00
Yuce Tekol
1448171a2c
Adds local and cluster IDs 2017-12-15 18:12:28 +03: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
21072a665f
refactor same node URI check in SendSync 2017-12-08 08:27:09 -06:00
Michael Baird
04790f70f2
moved the broadcast handler receive message process to the handler ProcessClusterMessage 2017-12-08 08:27:09 -06:00
Travis Turner
0f971f7bc6
Merge pull request #950 from raskle/914-syncblock-maxwrites
group the write operations in syncBlock by MaxWritesPerRequest
2017-12-06 14:02:07 -06:00
Travis Turner
c9886b049b
Merge branch 'master' into cluster-resize working branch. 2017-12-04 22:18:57 -06:00
Todd Gruben
f051f7ccea refactored httpclient handling 2017-12-01 16:00:12 -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
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
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
Cody Soyland
5865a2cd71 Fix CountOpenFiles() fatal crash 2017-11-15 13:19:13 -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
b039747887
fix a few typos 2017-11-10 10:45:56 -06:00
Travis Turner
453bbc996c
adjust Holder.Peek() and add tests for it 2017-11-10 10:38:49 -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
Michael Baird
17da0443d3
Merge pull request #895 from raskle/diagnostics
Diagnostics
2017-11-06 11:30:38 -06:00
Travis Turner
53fa54d3d3
891 nodeid tags (from #897) 2017-11-06 09:17:50 -06: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
Michael Baird
3539c6ffb5 Fixed overwriting standard with inverse max slice 2017-10-30 15:28:12 -05:00
Travis Turner
f2d28a1df9
make note of a possible race condition 2017-10-30 14:28:45 -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
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
Michael Baird
c14f72b66a changed the diagnostics configuration option to a boolean 2017-10-24 10:40:21 -05:00
Yuce Tekol
197e05b04a
Adds scheme to the node status 2017-10-24 01:37:41 +03:00
Yuce Tekol
642bf3180f
Rename NewClientFromURI to NewInternalHTTPClientFromURI 2017-10-18 21:17:25 +03:00
Michael Baird
8b4d2d6c85 Config option for diagnostics interval. Default to 1 hour 2017-10-18 10:26:27 -05:00