Travis Turner
36ce12da59
This commit adds a Close() method to the pilosa.Logger interface,
...
and it moves the file handling (open/close) out of the main Command and
into the interface implementation. The Logger implementations both have
a `Logger()` method which returns their internal logger (`*log.Logger`).
This is because the gossip setup (memberlist) needs a `*log.Logger` for
its configuration.
2018-03-27 08:40:05 -05:00
Travis Turner
fd8040e699
remove LogOutput and instead close any logger that implements io.Closer
2018-03-27 08:40:05 -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
7dd41399cb
Merge pull request #1169 from travisturner/attrstore-interface
...
put BoltDB behind AttrStore interface
2018-03-23 16:39:19 -05:00
Cody Soyland
f9efa6c579
Use type func(string) AttrStore in place of interface AttrStoreGenerator for simplicity
2018-03-23 13:57:29 -05:00
Cody Soyland
4e1ff7c86f
Merge branch 'cluster-resize' into webui-interface
2018-03-19 14:02:01 -05:00
Travis Turner
b66bedd1ef
put BoltDB behind AttrStore interface
2018-03-19 11:30:41 -05:00
Cody Soyland
b36e8c7a14
Combine two subpackages and consolidate doc.go into filestystem.go for simplicity.
2018-03-19 08:39:17 -05:00
Cody Soyland
f4c1e0c492
Refactor gopsutil into SystemInfo interface/subpackage for dependency injection.
2018-03-13 11:41:45 -05:00
Travis Turner
1cc45b22a2
Change Config.Coordinator from URI to bool
2018-03-08 12:42:24 -06:00
Cody Soyland
0a6f2d07f6
Move statik filesystem implemention to subpackage of statik package.
2018-03-08 08:38:29 -06:00
Travis Turner
d6896ea0a5
rename StaticFileSystem to FileSystem. re-org statik files
2018-03-07 11:12:05 -06:00
Travis Turner
e03dee9386
put Statik behind an interface
2018-03-06 17:02:08 -06:00
Travis Turner
1233226aa0
remove Join method from StaticMemberSet struct
2018-03-06 12:18:44 -06:00
Travis Turner
10ebb6ab11
put GCNotify behind an inerface
2018-02-26 10:30:51 -06: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
Cody Soyland
a23fe86839
Convert gossip seed string to slice
2018-02-22 13:14:45 -06:00
Travis Turner
6776fa81ef
Merge branch 'master' into cluster-resize-merging
2018-02-16 11:13:40 -06:00
Travis Turner
666fe22ecb
replace swallowed error with log entry
2018-02-15 12:11:27 -06:00
Travis Turner
9085c03ce8
Changes configuration cluster.type (string) to cluster.disabled (bool)
2018-02-08 12:40:46 -06:00
Travis Turner
2d5daaf78d
Merge branch 'master' into cluster-resize
2018-02-06 10:06:15 -06:00
Travis Turner
668689e119
ensure that the license is prepended to all source files
2018-02-05 16:35:28 -06:00
Cody Soyland
6756d97089
Enable diagnostics via build constraint to prevent from running in tests
2018-02-02 17:32:14 -06:00
Travis Turner
216ba7a41e
Use NodeID instead of URI for node identification
2018-02-02 15:58:46 -06: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
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
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
Todd Gruben
c14bc29041
added logging for node membership
2017-12-07 11:17:37 -06:00
Travis Turner
c9886b049b
Merge branch 'master' into cluster-resize working branch.
2017-12-04 22:18:57 -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
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
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
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
Michael Baird
c14f72b66a
changed the diagnostics configuration option to a boolean
2017-10-24 10:40:21 -05:00
Michael Baird
8b4d2d6c85
Config option for diagnostics interval. Default to 1 hour
2017-10-18 10:26:27 -05:00
Michael Baird
3b4892f926
simplifying the diagnostics client. Using circuit breaker to manage the diagnostics http connection.
2017-10-18 10:26:27 -05:00
Michael Baird
32f1558737
Using MultiStatsClient add Diagnostics
2017-10-18 10:24:31 -05:00
Michael Baird
8b87886a68
simplifying the diagnostics client. Using circuit breaker to manage the diagnostics http connection.
2017-10-18 10:22:17 -05:00
Michael Baird
bf2827b273
Using MultiStatsClient add Diagnostics
2017-10-18 10:14:19 -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