Matthew Jaffee
f99479932d
rename server Run to Start to better reflect functionality
2018-04-23 16:28:24 -05:00
Matthew Jaffee
9deefbaefc
unexport setupLogger and simplify
2018-04-23 16:25:03 -05:00
Matthew Jaffee
1e05a6d627
fix getListener comment
2018-04-23 15:15:02 -05: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
28acc29a10
refactoring pilosa/server
...
trying to separate internal an external concerns in pilosa.Server - it should
handle Cluster, Holder, etc. while pilosa/server handles things with external
deps - e.g. Logger, Stats, Handler, etc. Using functional options in
pilosa.Server now.
2018-04-23 13:35:39 -05:00
Matthew Jaffee
23f6acc165
panic if NewCommand errors on NewServer
2018-04-19 15:37:08 -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
Matthew Jaffee
3f303d1098
remove global defaults from config.go
...
these were occaisionally referenced elsewhere in the codebase - in all but one
case, there were workarounds that are actually better I think.
In the one case there wasn't I created a single top level DefaultConfig object
which is instantiated with all the default values and can be referred to if
necessary.
There was a bug in fragment.go with the way MaxWritesPerRequest was treated if
it was 0. Elsewhere, 0 meant no limit, but here, it would have caused a division
by 0.
Changed the default metrics provider from "nop" to "none", although "nop" will
still work. Previously, any value other than "statsd" or "expvar" was treated as
"nop", but I've changed this behavior to return an error if an invalid string is
provided. I think this is better behavior, because in the case that someone
bothered to change the default, they were probably interested in actually
getting stats, and might be annoyed when it silently failed.
2018-04-12 19:52:48 -05:00
Matthew Jaffee
f8cb579187
get tests passing
2018-04-09 14:29:43 -05:00
Yuce Tekol
8336784d57
More API updates; removed Cluster, Holder, etc from Handler
2018-04-03 15:01:36 -07:00
Travis Turner
5c52e48b12
change NewStandardLogger() to only take an io.Writer
2018-03-27 10:30:41 -05:00
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