Commit graph

133 commits

Author SHA1 Message Date
Cody Soyland
1a9beb0916 Add CORS support to handler. 2018-05-24 08:42:34 -05:00
Travis Turner
b363debd83
replace "Pilosa starting..." log line 2018-05-15 12:52:49 -05:00
alanbernstein
648dedacf7
Merge pull request #1263 from alanbernstein/wrap-errors-server
Wrap errors in server/
2018-05-10 10:27:02 -05:00
Travis Turner
e4c11a28b1
make sure gossipMemberSet.Logger is set during server setup 2018-05-09 10:42:11 -05:00
Alan Bernstein
f0b6fa4ee8 Wrap errors in server/ 2018-05-08 17:20:06 -05:00
Yuce Tekol
244c4e894e
Remove ~ expanding code from Command.Start 2018-05-02 17:33:51 +03:00
Matthew Jaffee
f9ff20689a
remove holder.Peek, combine with HasData, move server logic
Server initializing happens more in NewServer than Open now - expecting to
continue this trend. goal was to remove remoteClient from Server (since it has a
defaultClient) as well, but we'll have to refactor the client usage in fragment
and frame first.
2018-04-24 08:44:58 -05:00
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