Commit Graph

989 Commits (98810a363a485ff148e5cf433bc0811274a41bb9)

Author SHA1 Message Date
Philip O'Toole a122e709ea Add system-level test for math 2015-08-10 13:13:04 -07:00
Jason Wilder 11f4ba82aa Add env override config test 2015-08-09 16:14:10 -06:00
Jason Wilder 775dadadf5 Use INFLUXDB as env var prefix 2015-08-09 16:06:38 -06:00
Tony Pitale e943afacdc Change (previously unused) single udp config to support multiple UDP listeners
do not use NewConfig for UDP

appendUDPService must return a value

udp service does not need to handle error

fix missing case of c.UDP in tests
2015-08-09 11:28:09 -04:00
Jason Wilder 6f9c18fe95 Allow overriding of configuration parameters using environment variables
This allows all config variable to be set via environment variables using
a similar naming convention for the toml config.  For example, to change the
HTTP API port using the config, you would set:

[http]
  bind-address = ":8086"

To change it with an environment variable, you would use:

  HTTP_BIND_ADDRESS=":8086" influxd

The section name is used as the env variable prefix and the config key
name is the suffix.  The only change to the config name is that "-" should
be replaced with "_" to avoid shell interpretation issues.

This makes it much easier to configure docker instances within a docker container
or adhoc instances at the command-line.

For slice config sections like graphite, you can currently only override the first
entry since the default config only has 1 entry.  To do that use, GRAPHITE_0 as the
prefix.  You cannot currently add new entries like GRAPHITE_1.  A future PR might
address this issue.

The environment variable values should be the same as the config values.

The order that configuration values are applied is as follows:
* Default config
* Config file
* Environment variables
* Command-line arguments

Fixes #3246
2015-08-07 14:27:38 -06:00
Jason Wilder 87376a1c35 Allow -hostname to also override remote addr port
When starting a influxd in a docker container, the processess needs to know
the hosts address and port in order to create its NodeInfo correctly.  -hostname
previously only allowed us to change the hostname and the port would always be 8088
which may not be correctly if running multiple containers on the same host.
2015-08-07 14:03:08 -06:00
Jason Wilder c90ffff855 Fallback to HOME env var to determine home dir
When building a static binary without cgo, user.Current() uses cgo
and always fails.  Fallback to to HOME env variable if it exists.
2015-08-07 14:03:08 -06:00
Cory LaNou 2d26c2c9fe Additional test coverage for non-existent fields 2015-08-06 15:01:34 -05:00
Cory LaNou fdaa809f9a fix some tests, add some tests, fix some test comments 2015-08-06 14:01:29 -05:00
Cory LaNou b19a8f3968 Fix alias, maintain column sort order 2015-08-06 14:01:03 -05:00
Jason Wilder 2b76dac479 Don't resolve hostname when creating node
Hostnames were always being resolved to an IP address and the IP
address was used as the host address and raft peer address.  There
was no way to use an actual hostname instead of an IP address.
2015-08-05 14:17:26 -06:00
Daniel Morsing 38b70b2cfd add test for evil identifiers that stress the parser 2015-08-05 19:41:00 +01:00
David Norton d661bf1a06 fix #3414: shard mappers perform query re-writing 2015-08-04 09:49:50 -04:00
David Norton 0b248e225c Fix aggregate queries and time precision on where clauses. 2015-07-29 15:54:55 -04:00
Cory LaNou 4bc7e11adb Continuous Query Tests 2015-07-28 14:58:44 -05:00
Jason Wilder b6c95925fb Add retry delay for report service loop when error occurs
There is a race when stopping servers where the meta.Store is closing
but the server has not signaled it is closing so the reporting goroutine
repeeatedly errors out in fast loop during this time.  It creates a lot
of noise in the logs.
2015-07-28 09:40:26 -06:00
Jason Wilder 514f36cf54 Exit report goroutine if server is closing 2015-07-28 09:40:25 -06:00
Jason Wilder 06d8ff7c13 Use config.Peers when passing -join flag
Removes the two separate variables in the meta.Config.  -join will
now override the Peers var.
2015-07-28 09:40:25 -06:00
Jason Wilder 47b8de7ce8 Hide Meta.Join from config command using toml skip annotation 2015-07-23 10:21:25 -06:00
Jason Wilder 84a8d7d24b Add cluster-tracing option to meta config
Useful for troubleshooting but too verbose for regular use.
2015-07-23 10:21:24 -06:00
Jason Wilder c1fc83e3d5 Make join private so it does not show up in config command 2015-07-23 10:21:24 -06:00
Jason Wilder e06f6f421b Add ability to join an existing cluster
This adds some basic ability to join a node to an existing cluster. It
uses a rpc layer to initiate a join request to an existing memeber. The
response indicates whether the joining node should take part in the raft
cluster and who it's peers should be.  If raft should not be started, the
peers are the addresses of the current raft members that it should delegate
consensus operations.

To keep the meta store implementation agnostic of whether it's running
a local raft or not, a consensusStrategy type was also added.
2015-07-23 10:21:22 -06:00
Jason Wilder abfd438a11 Implement remote meta data fetch
This adds some basic plumbing to make remote procedure calls to other cluster
members.  This first implementation allows a node to contact the raft leader
and fetch a copy of the meta data. This will be used by non-raft members to
pull down the latest metadata.
2015-07-23 10:21:22 -06:00
Ben Johnson a7f50ae03c refactor storage to engine 2015-07-22 11:08:10 -06:00
Philip O'Toole 112da5205b Add 2 passing test cases around multi-shard select 2015-07-21 07:28:20 -07:00
Philip O'Toole 29570ba563 Merge pull request #3406 from influxdb/math_tests
Basic mult and divide tests on aggregates
2015-07-20 19:09:29 -07:00
Philip O'Toole 178856e97e Basic mult and divide tests on aggregates 2015-07-20 19:02:03 -07:00
Philip O'Toole 7e0fa132c8 Raw query with no valid SELECT fields is not data 2015-07-20 15:59:52 -07:00
Philip O'Toole 10eecb441d Allow remote mapping to be forced
This is useful primarily for testing.
2015-07-20 10:44:45 -07:00
Philip O'Toole 425a65fca1 RemoteShard mapping now performed over TCP
With this change remote mapping no longer uses HTTP, as the HTTP ports
exposed by nodes on the cluster are not known cluster wide. The TCP
ports exposed by the cluster service are, so this change uses that
functionality. Each RemoteMapper has its own dedicated connection pool
for each node, and remote mapping TCP connections are in no way coupled
with query TCP connections.
2015-07-20 10:44:38 -07:00
Philip O'Toole 3e1b0fed78 Merge pull request #3345 from influxdb/ga-show-rp-syntax
Make `SHOW RETENTION POLICIES` consistent by requiring `ON`
2015-07-17 10:46:24 -07:00
Philip O'Toole 0d6c6bbe6f Correctly check if raw derivative is required
The multiple checks for Mapper and Executor type -- the lack of DRYness
in this code -- meant the same checks would need to be copied. Therefore
this change, as well as fixing the bug, improves the situation a little
bit by *asking* the Mappers what type of Executor is required. This code
is still not ideal.

Fixes #3355.
2015-07-16 23:28:38 -07:00
gunnaraasen ee8ba11c4f Add ON token to SHOW RETENTION POLICIES parser with tests 2015-07-16 13:45:50 -07:00
Philip O'Toole bd2f475b5d Merge pull request #3334 from mcastilho/master
Clean shutdown of influxd server
2015-07-16 13:00:13 -07:00
Philip O'Toole d8c31f0b3c Merge pull request #3320 from influxdb/streaming_dq
Support Distributed Queries
2015-07-16 12:33:21 -07:00
Philip O'Toole f41d2bab5d Start move to unified query executor 2015-07-15 19:31:13 -07:00
Philip O'Toole 74cb96646c Refactor query engine for distributed query support
With this change, the query engine code gathers information about
shards and tagsets by working with individual shards, collating the
information, and returning that to the client. It does not assume that any
particular shard is local, and accesses all shards through abstracted
Mappers, of which there are two types -- a Mapper type for Raw queries
and a second type for Aggregate queries. There are corresponding
Executors for each type of Mapper, but both types of Executors share the
same interface.
2015-07-15 12:54:55 -07:00
Philip O'Toole 21ea87432c Test that DROP DATABASE is isolated 2015-07-15 11:20:25 -07:00
Marcio Castilho e560eb19ee Clean shutdown of influxd server 2015-07-15 13:14:11 -04:00
Philip O'Toole a84c48bff6 Allow the PointWriter timeout to be configurable 2015-07-02 12:50:12 -04:00
Philip O'Toole ca86fa2633 Allow WAL inter-flush time to be configurable 2015-07-02 10:40:26 -04:00
Philip O'Toole e0a8b581af Dump run errors to stderr
When run as service, stdout goes to /dev/null by default. This means
that Run() errors are not visible in the logs, which is tough to debug.
This change will ensure that when run as a service, Run() errors appear
at stderr, which are routed to the logs by default.
2015-07-01 16:44:49 -04:00
Philip O'Toole c4a75ffef7 Merge pull request #3180 from influxdb/log_commit
Log GOMAXPROCS, version, and commit on start
2015-06-29 14:01:57 -04:00
Philip O'Toole e554115178 Log GOMAXPROCS, version, and commit on start 2015-06-29 13:52:03 -04:00
Joseph Crail 5fccee3d16 Fix spelling errors in comments and strings. 2015-06-28 02:54:34 -04:00
Ben Johnson b574e2f755 Add write ahead log
This commit adds a write ahead log to the shard. Entries are cached
in memory and periodically flushed back into the index. The WAL and
the cache are both partitioned into buckets so that flushing doesn't
stop the world as long.
2015-06-25 15:47:13 -06:00
Jason Wilder ea348ddc2c Add sample graphite config to default config 2015-06-24 23:09:07 -06:00
Jason Wilder fed8d67946 Add validation for graphite config templates and tags 2015-06-24 23:09:07 -06:00
Philip O'Toole e010daf74c Test GROUP BY when different tags have same value 2015-06-22 16:04:13 -07:00
Philip O'Toole 841a8d35ee Test queries after drop-and-create database with data 2015-06-22 11:55:44 -07:00
Philip O'Toole 8bff4c1c51 Unit test minimum retention policy duration 2015-06-17 11:02:38 -07:00
Philip O'Toole 60d338282e Unit test measurement recreation after DROP 2015-06-16 12:14:36 -07:00
Philip O'Toole 05bd0fc53d Check database existence during normalization
Statements were only being normalized if a default database was included
in the query (usually via the query param 'db'). However if no default
database was included, and none was an explicit part of the measurement
name, no database-existence check was run. This result in a later panic
with wildcard expansion.
2015-06-15 11:51:32 -07:00
Philip O'Toole b440c593a4 Merge pull request #2987 from neonstalwart/server_test-fix
fix version assertion in server_test
2015-06-15 10:26:11 -07:00
Cory LaNou a9d2e81772 More integration tests for retention policy 2015-06-15 11:00:41 -05:00
Cory LaNou e52acd3057 show tag field integration tests 2015-06-15 10:34:11 -05:00
ben hockey 90ea63baad fix version assertion in server_test 2015-06-15 09:44:49 -05:00
Philip O'Toole 66629d4643 Profiling support re-enabled -- remove old comment 2015-06-12 13:18:33 -07:00
Philip O'Toole 85bb693119 Unit test version in HTTP response 2015-06-12 12:31:31 -07:00
Philip O'Toole d5fda01c2a Server now requires build information
Version is worth special-casing here, since the build information is
pretty important, and make components need it.

Fixes issue #2958.
2015-06-12 11:41:25 -07:00
Philip O'Toole 23a7896182 Server does not need Commit info, remove it 2015-06-12 11:28:32 -07:00
Cory LaNou 6cc9a2ee20 SHOW TAGS integration tests 2015-06-12 12:16:27 -05:00
dgnorton 0318b4562e Merge pull request #2936 from influxdb/fix-2935
fix #2935: hook CPU and memory profiling back up
2015-06-12 12:10:27 -04:00
David Norton b0b8d25752 fix #2935: remove delay on memprofile 2015-06-12 12:07:01 -04:00
Cory LaNou 69a20970ff SHOW MEASUREMENTS integration tests 2015-06-12 10:49:28 -05:00
David Norton fd2f1bb223 cr #2935: make code review changes 2015-06-12 11:47:59 -04:00
David Norton f717019d88 fix #2935: hook CPU and memory profiling back up 2015-06-12 11:47:59 -04:00
Cory LaNou 3686f2c496 Show series integration tests 2015-06-12 10:38:24 -05:00
Paul Dix 5e7ddc6a60 Merge pull request #2928 from neonstalwart/version-header
pass along version to httpd/handler
2015-06-12 09:46:33 -04:00
ben hockey aef4ba2e20 fix typos in server_test.md 2015-06-11 15:43:43 -05:00
Philip O'Toole e89d2d85a6 Merge pull request #2931 from influxdb/wait_for_leader
Export WaitForLeader on MetaStore
2015-06-11 13:26:00 -07:00
Cory LaNou 2373d9a68f Integration tests for drop measurement 2015-06-11 15:04:23 -05:00
Cory LaNou 224c6bb698 docs on integration testing 2015-06-11 14:17:07 -05:00
Philip O'Toole 4dff5f48aa Export WaitForLeader on MetaStore
This exported function can then be used by Services and
server-reporting, so those components don't make progress until the
cluster is ready.
2015-06-11 11:10:07 -07:00
ben hockey ce84047b44 pass along version to httpd/handler 2015-06-11 11:22:37 -05:00
Cory LaNou 2ecc2162cb add fill tests 2015-06-11 10:52:32 -05:00
Cory LaNou de17fcd6f6 missing parens to call func 2015-06-11 10:51:48 -05:00
David Norton a325071103 fix #2920: set MetaStore in collectd service 2015-06-11 09:53:16 -04:00
Philip O'Toole 431034c8f4 Wait for Raft leader even when cluster exists 2015-06-11 01:23:30 -07:00
Philip O'Toole b15a0df6d4 Wait for leader before reporting 2015-06-11 00:21:15 -07:00
Philip O'Toole 406509e93e Remove rogue ID field from reporting 2015-06-11 00:21:15 -07:00
Philip O'Toole 68fa173839 Report in goroutine so it outlasts return 2015-06-11 00:21:15 -07:00
Philip O'Toole 64af1b6241 Report number of measurements and series per node 2015-06-11 00:21:15 -07:00
Ben Johnson bc31783a00 Refactor backup and restore
This commit updates the snapshot code as well as the "backup" and
"restore" command to work with the new architecture.
2015-06-10 22:07:01 -06:00
Philip O'Toole 223bf672cf Update CHANGELOG 2015-06-10 20:05:59 -07:00
Philip O'Toole 57ce67b97b Ensure target Graphite database exists 2015-06-10 18:03:06 -07:00
Philip O'Toole f679c81136 Simply use "precreator" for shard precreation 2015-06-10 15:27:38 -07:00
Philip O'Toole 1ddab4627f Start the shard-precreation service 2015-06-10 15:27:38 -07:00
Cory LaNou f60f833123 more testing! 2015-06-10 15:50:33 -05:00
Cory LaNou 99a404eec9 more aggregation tests for ints, update skipped tests with issue numbers 2015-06-10 14:34:41 -05:00
Philip O'Toole cbaf3cb0ed Support setting openTSDB consistency level 2015-06-09 15:39:31 -07:00
Philip O'Toole 8eea2b3092 Allow Server creation to return errors 2015-06-09 14:21:12 -07:00
Cory LaNou 709a7ffd06 add where clause integration tests, add support for int64 comparisons 2015-06-09 15:45:00 -05:00
Cory LaNou a43054adce add test for querying across shards and fields 2015-06-09 12:51:59 -05:00
David Norton d5f52333a1 fix #2814: hook collectd service back up 2015-06-09 00:34:46 -04:00
Ben Johnson 8c2278a646 Move VersionCommand back to influxd
This commit moves the command in cmd/influxd/version into the
cmd/influxd package so that the version and commit can be injected
via ldflags.
2015-06-08 22:25:38 -06:00
Philip O'Toole b0d76913b0 Add new Service-style Graphite input support 2015-06-08 20:39:39 -07:00
Philip O'Toole 4b94a00644 Set auto-created retetion period to infinity
Fix issue #2817
2015-06-08 19:47:37 -07:00
Ben Johnson a9657289c4 Merge pull request #2823 from benbjohnson/opentsdb
Convert OpenTSDB to service
2015-06-08 17:32:55 -06:00
Ben Johnson b688eccb77 Refactor OpenTSDB to a service
This commit converts the OpenTSDB endpoint into a service.
2015-06-08 15:12:16 -06:00
Cory LaNou 393493fa98 more query tag tests 2015-06-08 14:58:55 -05:00
Cory LaNou 64b921580f enable database drop tests 2015-06-08 13:58:03 -05:00
Philip O'Toole 7fbc28963c Merge pull request #2816 from renan-/fix-udp
Fix UDP service, broken by 092bc3f and uncorrectly fixed in cc78fe4
2015-06-08 11:05:48 -07:00
Paul Dix 8f712eaf85 Ignore shards that don't have the selected measurement in them.
Fixes #2815 and fixes #2818.
2015-06-08 17:14:42 +02:00
Cory LaNou eaec3e42e4 add test for multiple measurements 2015-06-08 10:07:29 -05:00
Renan Strauss b44f6efdc2 Fix UDP service, broken by 092bc3f and uncorrectly fixed in cc78fe4 2015-06-08 10:49:07 +02:00
Philip O'Toole b19828fea7 Add test case for retention auto-create 2015-06-06 17:22:37 -07:00
Jason Wilder 3a19798968 Set metastore on cluster service 2015-06-05 22:29:52 -06:00
Jason Wilder 809b9b8a83 Add basic hinted handoff support
If a remote write fails, it will be queued to a per-node, local disk
queue and retried later.
2015-06-05 22:16:51 -06:00
Jason Wilder 75b72c60fe Add hinted handoff service
The hinted handoff service will queue a write to a remote node if
that write fails and periodically retry the write.
2015-06-05 22:16:51 -06:00
Ben Johnson 413da5cdc4 add mux.Serve() 2015-06-05 22:13:49 -06:00
Todd Persen 4bf024109f Merge pull request #2779 from influxdb/hook-CQs-back-2733
fix #2733: hook CQs back in
2015-06-05 20:40:31 -07:00
Ben Johnson 9ec6e4ff7e Merge pull request #2794 from benbjohnson/mux
Influxd mux integration
2015-06-05 21:15:18 -06:00
David Norton cc78fe4678 fix #2733: fix rebase issue...grrr 2015-06-05 20:05:31 -04:00
David Norton fb514f2302 fix #2733: add endpoint to trigger CQ(s) 2015-06-05 19:56:28 -04:00
David Norton 077159a126 fix #2733: check config before enabling CQ service 2015-06-05 19:54:23 -04:00
David Norton 092bc3fd2d fix #2733: hook CQs back in 2015-06-05 19:54:23 -04:00
Philip O'Toole 041b31d6b3 Merge pull request #2783 from renan-/udp-refresh
Make UDP service code simpler
2015-06-05 16:23:16 -07:00
Ben Johnson fb06549552 remove bind address from cluster config 2015-06-05 17:07:54 -06:00
Ben Johnson abbcf15bb2 integrate mux into influxd cluster service 2015-06-05 17:02:32 -06:00
Ben Johnson 6cf78206f0 refactor run.Server to use tcp.Mux 2015-06-05 16:31:58 -06:00
Ben Johnson b925e1c1af Multi-node clustering.
This commit adds the ability to cluster multiple nodes together to share
the same metadata through raft consensus.
2015-06-05 14:41:19 -06:00
Philip O'Toole a4a05241ba Set retention enforcement default config 2015-06-05 11:27:30 -07:00
Renan Strauss e8ab17dbc5 [services/udp] Clean-up the code 2015-06-05 10:55:10 +02:00
Philip O'Toole ae3e8c727a Don't append retention service if not enabled 2015-06-04 21:47:06 -07:00
Philip O'Toole fab9adb361 Hook in actual retention service 2015-06-04 17:02:22 -07:00
Cory LaNou 8d3f54172c wildcard and precision write integration tests 2015-06-04 12:58:03 -06:00
Cory LaNou 3f7cf15a8d not needed 2015-06-04 09:24:26 -06:00
Cory LaNou 08bec931c6 observe enabled flag when appending services 2015-06-04 09:24:08 -06:00
Renan Strauss 3b09a59540 Add UDP service back 2015-06-04 10:24:48 +02:00
Cory LaNou 90d8f37a08 some refactoring, mostly aggregation tests 2015-06-03 16:07:40 -06:00
Cory LaNou 212bbd067f move helpers to their own file 2015-06-03 13:44:10 -06:00
Cory LaNou 2dac41a619 fix one test that now works 2015-06-03 11:54:45 -06:00
Cory LaNou e6f0a2f3ab do not use the word `fail` in test messages 2015-06-03 11:22:59 -06:00
Cory LaNou 621e2dc2f3 more test coverage, minor test refactorings 2015-06-03 11:15:20 -06:00
Cory LaNou 5c52c4cda1 add ability to set logger for testing 2015-06-03 09:58:39 -06:00
Cory LaNou 1ab8d58bb2 and then there were table tests! 2015-06-02 20:24:53 -06:00
Cory LaNou ec749c836f Merge pull request #2742 from influxdb/integration-tests
Integration tests
2015-06-02 16:42:16 -06:00
Cory LaNou ab8701721a more integration testing 2015-06-02 16:03:13 -06:00
Jason Wilder 156e7df346 Rename PointsWrite.Store to TSDBStore
Matches MetaStore naming convention better.
2015-06-02 14:47:59 -06:00
Jason Wilder 3957e096f8 Remove ownerID from protobufs
Not needed since the node that processes the request is the owner.
2015-06-02 14:45:52 -06:00
Ben Johnson 44d38cb430 Merge branch 'master' into alpha1 2015-06-02 10:40:52 -06:00
Cory LaNou d962283ae6 adding some integration tests 2015-06-01 16:04:20 -06:00
Cory LaNou 3597565955 reading and writing yo! 2015-06-01 11:59:58 -06:00
Ben Johnson bf823d9887 Integrating cmd/influxd/run. 2015-05-30 14:06:36 -06:00
Ben Johnson c916256ac9 Rename cluster.Writer to cluster.ShardWriter. 2015-05-30 14:05:27 -06:00
Ben Johnson 8c8a55a737 Removed 'failed' from test suite. 2015-05-30 08:59:27 -06:00
Ben Johnson 233c63029b Refactor influxd.Main. 2015-05-30 08:49:49 -06:00
Ben Johnson 4872e6db7c Move services to subpackage. 2015-05-30 08:20:12 -06:00
Ben Johnson 6677ea074f more services, more test fixes, getting closer... 2015-05-29 14:59:57 -06:00
Ben Johnson 9d4527071e Refactor run command. 2015-05-29 14:59:57 -06:00
Ben Johnson 1f294ce8de Add httpd.Handler.serveQuery() tests. 2015-05-29 14:59:57 -06:00
Ben Johnson df1aeee70a WIP 2015-05-29 14:56:30 -06:00
Ben Johnson 4964e35260 Refactoring influxd. 2015-05-29 14:55:40 -06:00
Philip O'Toole eae313c4e2 Integrate batching with collectd 2015-05-28 15:22:36 -07:00
Philip O'Toole 0f385d282c Integrate point batching with Graphite inputs 2015-05-28 12:11:14 -07:00
Philip O'Toole 8ecb5a85e5 Allow Graphite batching control 2015-05-28 10:53:31 -07:00
dgnorton 3ad1fb1127 Merge pull request #2673 from influxdb/fix-2599
Fix 2599: add "epoch" URL param & return JSON time values as epoch numbers instead of date strings.
2015-05-28 08:41:50 -07:00
David Norton d94bb93b79 fix #2599: make units consistent with write
@neonstalwart, thanks for the suggestion.
2015-05-28 10:46:39 -04:00
David Norton 3174b2c98d fix #2599: re-skip TestSingleServer 2015-05-27 16:30:05 -04:00
David Norton 31c597a401 fix #2599: add epoch URL param for timestamp fmt 2015-05-27 16:23:27 -04:00
Todd Persen 350418cfe9 Merge pull request #2516 from s7v7nislands/fix_usage
Fix influxd help usage
2015-05-27 13:13:54 -07:00
David Norton 0a8be47ca1 fix #2644: make SHOW FIELD KEYS FROM /regex/ work 2015-05-27 10:26:32 -04:00
David Norton 8866c09e67 fix #2644: make SHOW SERIES FROM /<regex>/ work 2015-05-27 10:26:04 -04:00
David Norton cc8f5771fa fix #2644: make SHOW TAG VALUES FROM /regex/ work 2015-05-27 10:25:26 -04:00
David Norton fe99177fb3 fix #2644: make SHOW TAG KEYS FROM /<regex>/ work 2015-05-27 10:22:22 -04:00
Todd Persen 0f0a50b2a6 Merge pull request #2633 from influxdb/fix-2564
fix #2564: Rename "name" to "measurement" in JSON for writes
2015-05-26 20:33:26 -07:00
Todd Persen 856546820d Merge pull request #2600 from influxdb/in_order_db
Completely decouple "in order" testing
2015-05-26 19:58:16 -07:00
Todd Persen 99cb11de49 Merge pull request #1997 from influxdb/fix-1997-include-tags-in-select-wildcard
Update SELECT * to return tag values
2015-05-25 23:35:14 -07:00
Todd Persen 6735963a6b Reset test timeout. 2015-05-25 20:41:33 -07:00
David Norton e4670cb934 fix #2635: Fix query against bool field in WHERE 2015-05-24 05:00:59 -04:00
Todd Persen 338c1acb38 Add tags to OpenTSDB `SELECT *` tests. 2015-05-22 16:34:01 -07:00
Jason Wilder 5dcab443dc Move data.Point to tsdb.Point 2015-05-22 15:00:51 -06:00
Jason Wilder 997020963a Convert Point.Time to Point.Time()
Make public state private so that Point can be converted to an
interface.
2015-05-22 14:39:15 -06:00
Todd Persen fec08fc858 Include tags when doing a `SELECT *`. 2015-05-22 13:38:28 -07:00
David Norton 0fb4e14c44 fix #2564: chg name to measurement in write JSON 2015-05-21 19:05:32 -04:00
Philip O'Toole be0d0738d7 Completely decouple "in order" testing 2015-05-21 13:17:39 -07:00
David Norton 8156ef02b9 revert accidental change 2015-05-21 12:23:06 -04:00
David Norton 858648becf fix #2531: make WHERE with multiple OR terms work 2015-05-21 12:22:07 -04:00
s7v7nislands c8d1dbdbe6 fix run command help usage 2015-05-21 14:32:18 +08:00
s7v7nislands 7d4ee51c15 fix influxd help usage 2015-05-21 14:32:18 +08:00
Cory LaNou 5e9f7064f4 custom errors for distinct vs. count distinct 2015-05-20 15:02:39 -06:00
Cory LaNou c291b3a47a add custom error message for select distict against tags 2015-05-20 14:15:44 -06:00
Todd Persen 3505933a88 Add a check for function calls. 2015-05-20 11:35:46 -07:00
Todd Persen a88380b465 Allow tags to be selected in queries. 2015-05-20 11:35:41 -07:00
Cory LaNou 001cdefd7f return an error if user attempts to group by field 2015-05-20 10:42:58 -06:00
Jason Wilder a8ce23ca26 Allow coordinator to write points to shards with a consistency
level.
2015-05-20 10:01:28 -06:00
Cory LaNou 57b667db88 add integration tests 2015-05-19 12:29:39 -06:00
Cory LaNou 06d40a2582 SELECT DISTINCT field -> SELECT distinct(field) 2015-05-19 09:16:20 -06:00
Cory LaNou 56cf89deb7 adding distinct integration test 2015-05-19 09:16:20 -06:00
Philip O'Toole 5cb2e75147 Skip remaining cluster tests 2015-05-18 11:48:30 -07:00
Philip O'Toole ab88a4b2b0 Disable TestClientLibrary 2015-05-18 11:44:10 -07:00
Philip O'Toole 5cd52c7a3c Disable single-server integration testing 2015-05-18 11:13:53 -07:00
Philip O'Toole a823846612 Disable runTest_rawDataReturnsInOrder 2015-05-18 11:02:18 -07:00
Philip O'Toole bcf312bcea Disable 3-node cluster test 2015-05-18 10:47:02 -07:00
Philip O'Toole 525500df66 Disable Test_ServerSingleGraphiteIntegration_NoDatabase 2015-05-18 09:53:58 -07:00
Philip O'Toole c6feef25e5 Skip Test5NodeClusterPartiallyReplicated 2015-05-18 09:35:27 -07:00
Philip O'Toole 0b0e6ae58a Disable failover test 2015-05-18 09:26:20 -07:00
Philip O'Toole a3687b8697 Fail tests fast 2015-05-15 07:24:23 -07:00
Ben Johnson 00ce4a504e Wait for quorum write before returning from Log.Apply().
This commit ensures a commit is written to a quorum before returning
from Log.Apply().
2015-05-13 16:05:26 -06:00
Vladimir Lopes 4b4aaf24ab Fix TestClientLibrary test
The Client return a nil (json null) response on a sucessful write
2015-05-13 15:45:22 -03:00
Philip O'Toole 095482855f Merge pull request #2545 from cannium/use-value-as-field-name
Use "value" as the field name also in graphite
2015-05-12 19:33:08 -07:00
Can ZHANG 84a713f07f Use "value" as the field name in graphite
Also fix tests.
2015-05-13 09:31:20 +08:00
Paul Dix 2e57952903 Merge pull request #2547 from neonstalwart/fix/2487
handle aggregations with 0 intervals
2015-05-12 16:42:14 -04:00
Philip O'Toole 67416756b8 Merge pull request #2548 from influxdb/numeric_agg_check
Numeric aggregation check
2015-05-12 13:31:23 -07:00
Philip O'Toole c34581b089 Unit test numeric aggregate check 2015-05-12 13:26:21 -07:00
ben hockey 8e02595b3e handle aggregations with 0 intervals 2015-05-12 15:21:31 -05:00
ben hockey ef7473ac6b looks like StatusNoContent writes {} by default 2015-05-12 09:08:36 -05:00
ben hockey 12322e4df0 update tests to expect StatusNoContent 2015-05-12 09:07:03 -05:00
Cory LaNou c9ca0ce77d gofmt 2015-05-11 17:48:21 -06:00
Todd Persen 730e8cdfd4 Merge pull request #2405 from neonstalwart/time
change timestamp to time
2015-05-11 12:38:00 -07:00
ben hockey 9a3c28748c change timestamp to time 2015-05-11 12:28:47 -05:00
Can ZHANG 55106a6287 Add integration tests for first(), last() and spread() queries. 2015-05-09 09:01:07 +08:00
Philip O'Toole 01c7774eff Merge pull request #2254 from tcolgate/feature/opentsdb-http-input
Add Support for OpenTSDB HTTP interface
2015-05-08 16:51:11 -07:00
dgnorton 23c8effd2c Merge pull request #2509 from neonstalwart/restore-config-file
call ParseConfigFile with path from restore command
2015-05-08 07:51:29 -07:00
Sean Beckett 3f9bcb6a63 Update run.go 2015-05-07 16:11:41 -07:00
ben hockey 1cec5da461 call ParseConfigFile with path from restore command
fixes #2506
2015-05-07 11:05:26 -05:00
Sean Beckett f3957714ae more detail in error message 2015-05-06 13:30:31 -07:00
ben hockey 6fbae016cd use distinct series names to avoid resetting db between each test 2015-05-04 11:09:49 -05:00
ben hockey 6571f95ea5 add median aggregation tests 2015-05-04 11:09:48 -05:00
ben hockey ce54004961 normalize Call.Name to be lowercase 2015-05-01 12:05:55 -05:00
Tristan Colgate-McFarlane 2c68fd27c6 Add Support for OpenTSDB HTTP interface
OpenTSDB support a http and telnet interface on the same port. This
patch adds support for the /api/put endpoint, both single, for both
single and multiple datapoint submissions.
2015-05-01 08:05:05 +01:00
Philip O'Toole 8ed9e6895f Reduce maximum topic size to 50MB
1GB per topic seems way to large. Instead make it 50MB. Topic data will
never be deleted until at least 1 data node has replicated the data.
2015-04-30 17:14:36 -07:00
Paul Dix 8d91b75a5a Merge pull request #2354 from neonstalwart/stddev
make stddev work
2015-04-29 15:27:26 -07:00
Philip O'Toole 6cbc80fa50 Only access shard stats if shard is local
Fixes issue #2452
2015-04-29 15:05:45 -07:00
ben hockey ee01a5f66f add test for stddev on 1 point 2015-04-29 15:40:07 -05:00
Philip O'Toole 257aa4d6bd Always append shard path in diags
This code is clearer -- simply append an empty path if the shard is not
local.

Fixes issue #2430
2015-04-26 11:01:12 -07:00
Jason Wilder cc9d2335d8 Re-enable partial replication test 2015-04-24 16:00:59 -06:00
Jason Wilder 9c6d09ebe6 Make exp/got values line up for integration tests 2015-04-24 10:40:41 -06:00
Philip O'Toole 86db6df16c 5-second Raft election timeout during CI testing
CI testing may suffer from lack of CPU resources, meaning leader
elections may continually occur. This gives leader nodes more time to
send out heartbeats.
2015-04-23 15:59:36 -07:00
Philip O'Toole f2783353d9 Allow Raft election timeout to be configured 2015-04-23 15:05:40 -07:00
Jason Wilder 297ebda91f Simplify os.RemoveAll calls in tests 2015-04-23 11:18:19 -06:00
ben hockey 23c38fb03c get stddev working
this includes avoiding overflow for large values
2015-04-23 10:49:24 -05:00
ben hockey fad619a43b add test for stddev 2015-04-23 10:49:24 -05:00
Todd Persen 619d8ac97b Merge pull request #2390 from neonstalwart/running-mean
add test for large mean aggregations
2015-04-22 13:58:06 -07:00
Cory LaNou 7b2019fbb0 Fix hostname defaults 2015-04-22 12:00:51 -06:00
Jason Wilder ad88051e1a Merge pull request #2384 from influxdb/jw-int-tests
Make sure cluster tests actually created a cluster before running
2015-04-22 10:52:36 -06:00
ben hockey aa3683c260 add test for large mean aggregations 2015-04-22 11:40:16 -05:00
Jason Wilder dee4d52c3f Make sure cluster tests actually created a cluster before running 2015-04-22 10:37:35 -06:00
Philip O'Toole 8141da34c4 Dump cluster stats on test failure 2015-04-21 22:31:12 -07:00
Philip O'Toole 554b581060 Explicitly unit-test negative values 2015-04-21 19:30:24 -07:00
Philip O'Toole 92899c3715 Add integration test to sanity check diags 2015-04-21 19:19:08 -07:00
Jason Wilder 6d6db1fb2b Merge pull request #2375 from influxdb/jw-int-tests
Print CPU and GOMAXPROCS when running integration tests
2015-04-21 16:51:08 -06:00
Jason Wilder 6590653528 Print CPU and GOMAXPROCS when running integration tests
Hopefully make it easier to reproduce the test env locally.
2015-04-21 16:35:10 -06:00
Philip O'Toole 5ff1bd1f87 Skip partial-replication test 2015-04-21 15:21:25 -07:00
Philip O'Toole df7ed03cd4 Actually allow HTTP logging to be enabled 2015-04-21 15:21:21 -07:00
Cory LaNou c5790abe84 fix data race for openTSDB listener addr 2015-04-21 15:26:11 -06:00
Cory LaNou 3a83c6e9ec new config should not set host name 2015-04-21 13:49:20 -06:00
Cory LaNou ae43e0c8b2 always use localhost, not host name 2015-04-21 13:48:42 -06:00
Jason Wilder 25a43a8f11 Change 6 node test to 5 node 2015-04-21 13:39:58 -06:00
Jason Wilder 406a951718 Fix comments 2015-04-21 13:39:58 -06:00
Jason Wilder 90e3059a8b Fix processRawQuery from returning duplicate data 2015-04-21 13:39:58 -06:00
Jason Wilder f5a8227077 Fix cluster join
New data nodes would never actually join the cluster.  They would
pose as server ID 1 in a cluster.
2015-04-21 13:39:58 -06:00
Jason Wilder 94f50ac056 Make 3 node failover test parallel 2015-04-20 09:24:56 -06:00
Jason Wilder fd4a69855d Re-enable Test3NodeClusterPartiallyReplicated 2015-04-20 09:24:56 -06:00
Jason Wilder d8fba0a50d Close raft log before broker
Closing the broker before the raft log can trigger this panic since the
raft log depends on the broker via the FSM.

panic: apply: broker apply: broker already closed

goroutine 29164 [running]:
github.com/influxdb/influxdb/raft.(*Log).applier(0xc20833b040, 0xc20802bd40)
	/Users/jason/go/src/github.com/influxdb/influxdb/raft/log.go:1386 +0x278
created by github.com/influxdb/influxdb/raft.func·002
	/Users/jason/go/src/github.com/influxdb/influxdb/raft/log.go:389 +0x764
2015-04-20 09:23:39 -06:00
David Norton a1790f2d0c fix #2337: panic if tag key isn't double quoted 2015-04-18 13:05:41 -04:00
Philip O'Toole 4a1df4c45a Reduce test timeout for graphite and openTSDB 2015-04-18 09:53:54 -07:00
Philip O'Toole 12724ccc9c Remove debug cruft from tests 2015-04-17 18:46:10 -07:00
Philip O'Toole bc9a0b8ad6 Dump cluster diags if table-tests fail 2015-04-17 18:33:26 -07:00
Philip O'Toole 4c7e3632b9 Disable partial replication test 2015-04-17 18:33:22 -07:00
Philip O'Toole 79519e6a7e Parameterize graphite and openTSDB test timeouts 2015-04-17 18:32:59 -07:00
Philip O'Toole 665f57f72a Give table-driven tests 30 seconds per query 2015-04-17 18:32:58 -07:00
Philip O'Toole e9ebf654e9 Return number of nodes that responded OK 2015-04-17 18:32:58 -07:00
Philip O'Toole 50b08ff73f Bang on test server every 100 ms 2015-04-17 18:32:58 -07:00
Philip O'Toole 88b9276e33 Name 'show continuous queries' test 2015-04-17 16:18:28 -07:00
Philip O'Toole df16e6c121 Even better output from integration test 2015-04-17 16:18:28 -07:00
Cory LaNou c45e080640 fix test data collision 2015-04-17 16:18:28 -07:00
Cory LaNou cecd7f77e1 ClusterURL refactor VI 2015-04-17 16:18:28 -07:00
Cory LaNou 0d734868a8 use net.JoinHostPort 2015-04-17 16:18:28 -07:00
Cory LaNou 69d99a895a ClusterURL ractor III 2015-04-17 16:18:28 -07:00
Cory LaNou 6de52d5046 force OpenTSDB to use IPv4 formats 2015-04-17 16:18:28 -07:00
Cory LaNou 0469d8e283 explicitly specify bind port for graphite tests to properly form IPv6 addresses 2015-04-17 16:18:28 -07:00
Cory LaNou a689e8fcea refactor the ClusterURL again 2015-04-17 16:18:28 -07:00
Cory LaNou 893834afbb simplify ClusterURL 2015-04-17 16:18:28 -07:00
Cory LaNou 4d809a8920 no more port collisions 2015-04-17 16:18:28 -07:00
Cory LaNou 5fb81825db fix graphite default initialization 2015-04-17 16:18:28 -07:00
Cory LaNou bad336a6ae wip fixing graphite tests 2015-04-17 16:18:28 -07:00
Cory LaNou 6c0bfb5a43 make all integration tests safe to run in parallel 2015-04-17 16:18:28 -07:00
Philip O'Toole f349c23964 Should be no need to wait 60 seconds
Each of these tests relies on a write of only a few points. It simply
should not take 60 seconds.
2015-04-17 16:18:28 -07:00
Philip O'Toole 411ce965db Don't hammer the server during testing 2015-04-17 16:18:28 -07:00
Philip O'Toole 969b8c4d70 Don't log HTTP accesses during testing 2015-04-17 16:18:28 -07:00
Philip O'Toole a3fbba33da Allow control of HTTP logging 2015-04-17 16:18:28 -07:00
David Norton 86db3574ad fix #2286: parse error on CREATE CONTINUOUS QUERY 2015-04-17 16:40:29 -04:00
Jason Wilder a75845dfff Remove type check when handling closed network connection error 2015-04-17 12:30:11 -06:00
Jason Wilder 8aa0d32b6f Add failover to other data nodes for distributed queries
Fixes #2190
2015-04-17 11:28:47 -06:00
Jason Wilder fbaa37a5ef Close resp body during write tests 2015-04-17 11:28:47 -06:00
Jason Wilder 69944622bc Don't set data node until after it has joined or initialized
By setting it, data node requests can be served by the http handler
before the data node is actually ready.

Possible fix for:

2015/04/14 11:33:54 http: panic serving 10.0.1.8:62661: runtime error: invalid memory address or nil pointer dereference
goroutine 11467 [running]:
net/http.func·011()
	/usr/local/go/src/net/http/server.go:1130 +0xcc
github.com/influxdb/influxdb.(*Server).broadcast(0xc20805cc00, 0xc208220000, 0x5d25e0, 0xc208869e80, 0x0, 0x0, 0x0)
	/Users/jason/go/src/github.com/influxdb/influxdb/server.go:568 +0x227
github.com/influxdb/influxdb.(*Server).CreateDataNode(0xc20805cc00, 0xc2081c6e70, 0x0, 0x0)
	/Users/jason/go/src/github.com/influxdb/influxdb/server.go:859 +0xe6
github.com/influxdb/influxdb/httpd.(*Handler).serveCreateDataNode(0xc20842ea00, 0x19378c0, 0xc2082207e0, 0xc2083191e0)
2015-04-17 11:28:47 -06:00
Philip O'Toole 336caff1f0 Add test of COUNT with specific fill 2015-04-15 11:55:07 -07:00
ben hockey 8a8506e0bb add count aggregate fill test 2015-04-15 11:55:07 -07:00
Todd Persen 8b8ce9d4bb Merge pull request #2290 from neonstalwart/hostname
allow hostname arg to override test config
2015-04-15 11:02:10 -07:00
Ben Johnson 64a6274b87 Merge branch 'master' of https://github.com/influxdb/influxdb into cluster-listener
Conflicts:
	CHANGELOG.md
2015-04-15 11:57:59 -06:00
Ben Johnson 090f8c7120 fix race 2015-04-15 11:57:03 -06:00
Ben Johnson 6e124f3ab6 Start cluster before broker.
This commit fixes an issue where the second node joins but the first node
cannot commit because it doesn't have the HTTP endpoint running yet. This
is a side effect of streaming raft since we don't synchronize the quorum
set with the heartbeats. We should cache the config per term in the future.
2015-04-15 11:18:44 -06:00
ben hockey 84e87ce9c9 allow hostname arg to override test config 2015-04-15 10:52:23 -05:00
Philip O'Toole f591150699 Update CHANGELOG 2015-04-14 15:56:43 -07:00
Philip O'Toole b0ee5d0a78 Add broker truncation
Unit test same.
2015-04-14 15:15:26 -07:00
Philip O'Toole 8470ee27b6 Make MaxTopicSize and MaxSegmentSize configurable 2015-04-14 15:15:26 -07:00
Ben Johnson 47be5feb24 CHANGELOG 2015-04-14 14:44:18 -06:00
Ben Johnson c5bdb5af86 Fix cluster-wide restart issue. 2015-04-14 13:43:25 -06:00