Commit graph

49 commits

Author SHA1 Message Date
Cody Soyland
8c0d1ece55 Remove "plugins.path" configuration option
According to Todd, the current plugin direction is static and there is no need for dynamic loading, so this option is no longer needed.
2017-11-08 11:46:23 -06:00
Michael Baird
17da0443d3
Merge pull request #895 from raskle/diagnostics
Diagnostics
2017-11-06 11:30:38 -06: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
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
65ad94c376
clusters with https + self signed certificates work (using --tls.skip-verify) 2017-10-10 04:48:15 +03:00
Yuce Tekol
3501732b19
https with signed certificates work 2017-10-08 21:11:19 +03:00
Yuce Tekol
1bedfd6585
use URI instead of host 2017-10-04 08:20:00 +03:00
Yuce Tekol
5760d89742
Initial TLS support 2017-10-02 15:53:50 +03: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
fcb311389e
added pilosa.NormalizeAddress() to address variations in the bind configuration 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
Travis
b6896482b9
move InternalPort config option out from under cluster and up to the root of Config 2017-07-24 17:28:23 -05:00
Michael Baird
cfedda29ef Added Duration tests 2017-07-12 09:07:38 -05:00
Michael Baird
4b53ec1f9c const cluster types, and more validation tests 2017-07-11 14:17:06 -05:00
Michael Baird
baff53ae3d config test and validate 2017-07-11 11:31:27 -05:00
Linh Vo
6a50427629 rename Config's fields 2017-07-10 13:34:10 -05:00
Linh Vo
95166fd0ee revert config and fix json tag 2017-07-10 11:28:32 -05:00
Linh Vo
e3090cb0c3 update doc for configuration 2017-07-07 15:12:16 -05:00
Linh Vo
cda46245d8 update config to match with json tag 2017-07-07 12:04:49 -05:00
Michael Baird
b0f8d5d8f9 Merge remote-tracking branch 'origin/master' into metrics
Conflicts:
	cmd/server.go
	ctl/config.go
2017-05-23 10:07:44 -05:00
Ben Johnson
788386b49a
Implement 'config' CLI command.
Renames `config` to `generate-config` and implements a new `config`
command that generates the configuration file based on the current
state instead of printing a static string.
2017-05-22 09:30:14 -06:00
Michael Baird
bd44949cb5 Merge remote-tracking branch 'origin/master' into metrics
Conflicts:
	config.go
	executor_test.go
	server/server.go
2017-05-09 11:31:14 -05:00
Michael Baird
bf6ed942f0 Merge pull request #8 from alanbernstein/stats
Stats
2017-05-09 11:15:23 -05:00
Ben Johnson
e3d6f96657
Add max-writes-per-requests limit.
A configurable limit has been added to restrict the number of
mutating calls in a `pql.Query`. This is to prevents requests from
timing out from large queries.

The default is set to 5000 writes per request and is configurable
through the configuration file and the command line flags.
2017-05-03 08:53:20 -06:00
Michael Baird
06665d048d missing comments 2017-05-01 11:04:53 -05:00
Michael Baird
ee159b455d Merge remote-tracking branch 'origin/master' into metrics
Conflicts:
	.gitignore
	cluster.go
	frame.go
	glide.lock
	index.go
2017-05-01 10:41:04 -05:00
Cody Soyland
3996b56b88 Apply Apache License 2.0 2017-04-28 14:22:03 -05:00
Michael Baird
d2a7869142 comment cleanup 2017-04-25 16:40:39 -05:00
Michael Baird
66496a73d7 additional comments for config 2017-04-25 13:57:20 -05:00
Michael Baird
e699c55700 fixed conflicts from the db index change
Conflicts:
	cluster.go
	executor_test.go
	handler_test.go
	server.go
2017-04-25 11:47:29 -05:00
Michael Baird
a543ba21bb fixed DB to index conflicts after merge 2017-04-24 21:59:39 -05:00
Alan Bernstein
5413597998 Move LongQueryTime option to cluster section of config file 2017-04-24 15:20:08 -05:00
Alan Bernstein
6a162c4be2 Support LongQueryTime as config option 2017-04-21 18:50:25 -05:00
Michael Baird
6f1e3c9275 add stats metric options to config 2017-04-19 16:51:55 -05:00
Travis
4c8e46e17f change Config.Nodes to Config.Hosts 2017-04-19 10:37:00 -05:00
Travis
b4a69be751 Add support for Node.InternalHost.
This was required for the HTTPBroadcaster to run locally on different InternalPorts.
2017-04-19 10:37:00 -05:00
Matt Jaffee
d10d8d94e1 simplify config structure - remove gossip sub-struct 2017-04-19 10:36:28 -05:00
Matt Jaffee
0da580d0e9 change broadcaster-type to type
It is nested under "cluster" in the config, and it controls cluster membership
as well as broadcasting, so I think type is more appropriate. Also, brevity.
2017-04-19 10:36:28 -05:00
Matt Jaffee
32d07fc9e1 rename MessageBroker -> Broadcaster 2017-04-19 10:34:52 -05:00
Matt Jaffee
25f3ac92bd move complex, implementation-specific config bits out of config.go
moved into pilosa/server/server.go with minimal changes for now - had to tweak a
few things to be able to get at unexported fields. Next step will be to move the
implementations of NodeSet and MessageBroker out of the pilosa package so that
pilosa core knows nothing about them. pilosa/server will deal with any
complexities involved in setting them up.
2017-04-19 10:33:26 -05:00
Travis
b0f1fc7523 Makes Messenger a first-class object under Server (with pointers in Handler and Index).
Primary message interface is the MessageBroker which is an attribute of the Messenger.
MessageBroker implementations:
- Gossip (memberlist)
- Broadcast (uses HTTP, received by existing Handler)
- Static (no-ops)

Changes CacheSize from `int` to `uint32` for consistency with protobuf.
Removes unnecessary dependencies in glide:
- `github.com/aws/aws-sdk-go`
- `golang.org/x/net` (although this gets included by memberlist)

TODO:
- [ ] Add tests around the Messenger and MessageBroker objects.
- [ ] Refactor CreateSliceMessage to work with views.
- [ ] Support propogation of meta data on PATCH calls.

fixing some issues from last rebase
2017-04-19 10:33:26 -05:00
Travis
74b81eeac1 adjustments to support the new Config structure 2017-04-19 10:21:19 -05:00
Travis
7c2f6a9bae adds a basic gossip implementation using hashicorp/memberlist
Changes Gossiper to NodeSet.
Adds StaticNodeSet (for testing) and GossipNodeSet (for memberlist) implementations.
Changes NodeSet interface to return a pilosa-specific generic instead of `NodeSet interface`.
Removes NumMembers from interface (which is specific to memberlist).

Implements a Messenger interface with which to send inter-node messages via NodeSet.
The Pilosa implementation occurs in the GossipNodeSet.

Implements the Messenger as an object on Server, Handler, and Index.

Uses HealthStatus constants.
Removes commented-out code.

for gossip, make sure to bind to both host and port, and advertise those as well

adjust messenger to work with the db schema logic

add dependencies: hashicorp/memberlist, golang.org/x/sync
add dependency: golang.org/x/net

Uses `errgroup` to handle errors from broadcast messages.
Marshals message one time instead of once for every node.
Adds error handling for some errors that were being swallowed.
2017-04-19 10:13:38 -05:00
Matt Jaffee
e6309d45e1 make sure exported functions are godoc'd 2017-04-18 15:10:59 -05:00
Yuce Tekol
5353448a92 Adds log-path config 2017-04-05 16:09:43 +03:00
Matt Jaffee
5f267c0a3a support the various ways of specifying bind addr 2017-03-17 16:43:04 -05:00
Matt Jaffee
03eae77604 add cluster.hosts flag
had to work around a bunch of viper nonsense with handling string slices

changed the validator.Check to use reflect.DeepEqual

fixed a bug where env vars need to be reset between tests

had to change the structure of pilosa.config to enable the passing of hosts as a
slice of strings (it was a slice of structs which each just contained the string
host.) so we lose some generality, but we weren't using it anyway.
2017-03-17 16:43:04 -05:00
jaffee
bbb88e910f create - start cluster over ssh when given hosts 2016-12-13 10:14:09 -06:00