Commit Graph

1263 Commits (627cd9d486b98af01f02f0915319185a81b46c87)

Author SHA1 Message Date
Nick Dawbarn 26f6d00668 Bugfix for #3429 String representations of RegexLiterals generated in influxql/ast.go add the / char as a start and end delimiter, but does not escape any / characters that may exist with the regex 2015-10-08 19:41:36 +10:00
Michael Desa 897a5effff Merge pull request #4329 from influxdb/md-stress-timestamps
Add support for evenly spaced timestamps
2015-10-06 16:26:08 -07:00
David Norton 4375545064 fix #4276: walk DropSeriesStatement 2015-10-05 19:56:30 -04:00
Michael Desa 02349a63d5 Change precison on example 2015-10-05 12:29:58 -07:00
Michael Desa 70c7d1c4d8 Change file names to be more semantic 2015-10-05 12:29:11 -07:00
Michael Desa 2ca11072e8 Change `jitter` to false in examples 2015-10-05 12:19:59 -07:00
Michael Desa 52b7e557c1 Add support for timestamp jitter 2015-10-05 12:09:08 -07:00
Michael Desa 68c1d05ad4 First pass at adding timestamps 2015-10-02 16:05:06 -07:00
Philip O'Toole d74e0690c7 Revert "Merge pull request #4233 from influxdb/drop-server"
This reverts commit 0bdb36f6dc, reversing
changes made to 3085fbc138.
2015-10-02 08:39:57 -07:00
Cory LaNou 99da67007d no more shutdown 2015-10-01 15:39:15 -05:00
Cory LaNou 73372ed907 [Ee]xecuteShutdown -> [Mm]onitorShutdown 2015-10-01 15:39:15 -05:00
Cory LaNou 34bfb6b330 be sure to exit the go routine if we terminate normally 2015-10-01 15:39:15 -05:00
Cory LaNou 7a3e1f6b27 removing peer wip 2015-10-01 15:39:15 -05:00
Michael Desa 027da3dbb4 Add examples folder 2015-09-30 15:55:09 -07:00
Michael Desa f056753afe Add moderate burn test
First pass at constructing points myself
2015-09-30 15:55:07 -07:00
Michael Desa d6027071d2 Add optional jitter to timestamps 2015-09-30 15:55:07 -07:00
Michael Desa 293fad1e20 Add note about buffer time and change example_2 2015-09-30 15:55:07 -07:00
Michael Desa 8a76e7db78 Add comments and tests 2015-09-30 15:55:07 -07:00
Michael Desa ee9c78735e Add configurable channel buffer size 2015-09-30 15:55:07 -07:00
Michael Desa ecb9bd9592 Add support for stress test under query load 2015-09-30 15:55:07 -07:00
Michael Desa 2465dbc788 Add high performance stress test example
First round at adding query load

Working draft:

Not happy with things, but it works
2015-09-30 15:55:07 -07:00
Michael Desa 22a6f79a3c Add support for `tag_count` config option
It is now possible to configure arbitrarily many tags in a generic
format. That is specifying the config option `tag_count=10` will add 10
tags to a series that are of the form `tag-key-n=tag-value` where n
ranges from 0 to 9.

Save current state
2015-09-30 15:55:06 -07:00
Michael Desa 03f291d78c Add comments and shuffle var declarations 2015-09-30 15:55:06 -07:00
Michael Desa fdfb039a44 Allow configuration via config file or flags
Note that config file takes precedence to flags
2015-09-30 15:55:06 -07:00
Michael Desa 4e587b4622 Add comment to example toml file 2015-09-30 15:55:06 -07:00
Michael Desa 48dde6b16c Add support for config file 2015-09-30 15:55:06 -07:00
Michael Desa 911623f5f6 Add quick notes 2015-09-30 15:55:06 -07:00
Michael Desa e608e9b79b Add stress
First pass at running stress test from a toml
2015-09-30 15:55:06 -07:00
Michael Desa e43b60b8e1 Add example config for stress test 2015-09-30 15:55:06 -07:00
Ben Johnson 343dd23ee7 refactor map functions to use list of values
This commit changes `tsdb.mapFunc` to use `tsdb.MapInput` instead
of an iterator. This will make it easier and faster to pass blocks
of values from the new storage engine into the engine.
2015-09-29 14:00:33 -06:00
Philip O'Toole 7cb8c2d2ec Add build timestamp to version data 2015-09-24 23:40:53 -07:00
Cory LaNou b1becfbcfc more tests, simplify mapFunc signatures 2015-09-23 09:27:19 -05:00
Cory LaNou 78bc740434 full support for min/max/first/last 2015-09-23 09:03:57 -05:00
Ben Johnson 8e27cf1fd8 Merge remote-tracking branch 'upstream/master' into refactor-select-mapper
Conflicts:
	tsdb/store.go
2015-09-22 13:58:24 -06:00
Ben Johnson 96715d7d90 rename Cursor.Seek() to Cursor.SeekTo() 2015-09-22 13:23:16 -06:00
Ben Johnson 56cb2fae5d fix integration tests 2015-09-22 13:10:13 -06:00
Ben Johnson 649663ca15 fix tests 2015-09-22 13:10:13 -06:00
Ben Johnson a5269e9cc7 rename direction to ascending. 2015-09-22 13:09:26 -06:00
David Norton 8bd2408320 convert SHOW TAG KEYS to distributed query 2015-09-21 11:30:51 -04:00
Cory LaNou 72f6f7d268 Merge pull request #4134 from influxdb/issue-3447
Refactor Points and Rows to dedicated packages
2015-09-17 15:27:48 -05:00
Philip O'Toole f73bc6ff19 Merge pull request #4140 from influxdb/engine_config
Make engine configurable
2015-09-16 21:17:43 -07:00
Philip O'Toole 7b1a4e6700 Control whether each query should be logged
Fixes issue #4138
2015-09-16 19:26:23 -07:00
Philip O'Toole e4fde993f1 Make engine configurable 2015-09-16 19:09:25 -07:00
Cory LaNou d19a510ad2 refactor Points and Rows to dedicated packages 2015-09-16 15:33:08 -05:00
Cory LaNou bf955c7c11 Merge pull request #4112 from influxdb/issue-3457
Period in field name that matches measurement fails.  Fixes #3457
2015-09-16 09:55:43 -05:00
Philip O'Toole afe5cc67f4 Repeat the identical time aggregate test more; 2015-09-15 16:22:25 -07:00
Cory LaNou f02d8eef4f unskip test 2015-09-15 16:36:11 -05:00
Cory LaNou 5395ac7634 Period in field name that matches measurement fails. Fixes #3457 2015-09-15 16:26:39 -05:00
Cory LaNou c70b503f00 go fmt 2015-09-15 16:09:58 -05:00
Philip O'Toole 69c9f28e2d Fix compilation error in test code 2015-09-15 11:42:58 -07:00
Philip O'Toole 76e3552a95 Increase write-timeout to 30s during testing
This should hopefully reduce the rate of CI failures during testing.
2015-09-15 11:35:21 -07:00
Philip O'Toole 05b2e4985f Merge pull request #4065 from sbouchex/cmd_add_precision
Added precision support in cmd client
2015-09-14 16:44:23 -07:00
Michael Desa f623701e79 Merge branch 'master' into md-stress-runner 2015-09-11 15:45:11 -07:00
Michael Desa d85c4f7699 Cherry pick failed requests from 2d67a9e
Commit 2d67a9ea22
started tracking failed request. This commit cherry picks the
functionality introduced there.
2015-09-11 15:10:15 -07:00
Sébastien Bouchex Bellomié 5656ba167f Added precision support in cmd client 2015-09-11 10:04:18 +02:00
Sébastien Bouchex Bellomié 9831ab2cc8 Added precision support in cmd client 2015-09-11 09:20:02 +02:00
Philip O'Toole 101a4d2a55 Merge pull request #4066 from influxdb/pd-fail-writes-on-memory-pressure
Update WAL to fail writes if pressure too high.
2015-09-10 11:27:32 -07:00
Philip O'Toole ed917aa7f8 Log each query before execution
If a query causes a server to panic, the query is nowhere in the logs,
which makes debug very difficult.
2015-09-10 10:52:51 -07:00
Cory LaNou ef17dbb492 more tests 2015-09-10 11:32:30 -05:00
Paul Dix 2d67a9ea22 Update WAL to fail writes if pressure too high.
If the memory gets 5x above the partition size threshold, the WAL will start returning write failures to the clients. This will allow them to backoff their write volume.

Also updated the stress script to track failed requests and output messages on failure and when it returns to success.
2015-09-09 22:41:32 -07:00
Sébastien Bouchex Bellomié f8a827d9d2 Added precision support in cmd client 2015-09-09 22:54:57 +02:00
Cory LaNou fa04b0ab20 add server integration tests 2015-09-09 15:46:21 -05:00
Sébastien Bouchex Bellomié 23a606bafc Added precision support in cmd client 2015-09-09 22:17:48 +02:00
Philip O'Toole 0ea0a3a71b Add build info to diagnostics 2015-09-09 12:43:51 -07:00
Philip O'Toole 402576bd93 Pass richer build information to Server 2015-09-09 12:36:32 -07:00
Michael Desa 70c816e236 Add optional precision setting 2015-09-09 11:21:17 -07:00
Michael Desa 551e51a643 Move `cmd/influx_stress/runner` pkg to `stress` 2015-09-09 11:21:17 -07:00
Michael Desa c773df00ef Add throttling of requests 2015-09-09 11:21:17 -07:00
Michael Desa 2b0b66d7d6 Add a configurable `Measurements` type
Previously the measurement that was getting written into InfluxDB was
hard coded in the `Run` method as `cpu`. Now you can specify a
measurements by passing an `-m` flag to `influx_stress`.

The `-m` flag accepts a comma separated list of measurements. (e.g.
`influx_stress -m cpu,mem,disk`)
2015-09-09 11:21:17 -07:00
Michael Desa d63ac6a842 Add tests for runner.go 2015-09-09 11:21:17 -07:00
Michael Desa 35a0477f05 Add the an error to the NewCleint
Additionally the Config definition of the Config type was moved to just
above the definition of the NewClient Method.
2015-09-09 11:21:17 -07:00
Michael Desa dd8413d9ac Missed one last thing for the timer 2015-09-09 11:21:17 -07:00
Michael Desa e29b159079 Change Timer method names to be more semantic.
Additionally, getter and setter method were added to the Timer type.
2015-09-09 11:21:17 -07:00
Michael Desa 1a3d6cb74a Rename newResponseTime to NewResponseTime 2015-09-09 11:21:16 -07:00
Michael Desa 4413b302be Fix sorting for the ResponseTimes type
The `sort` methods were failing as responseTimes couldn't be cast to an
[]int. To fix this `ResponseTimes` now implements the `sort.Interface`
interface.
2015-09-09 11:21:16 -07:00
Michael Desa d54e439385 Change responseTimes to its own type
`responesTimes` was an []int and is now it own type
2015-09-09 11:21:16 -07:00
Michael Desa 3ae5183592 Add comments where needed 2015-09-09 11:21:16 -07:00
Michael Desa a19e2d9f50 Rename `Runner` to `Run` 2015-09-09 11:21:16 -07:00
Michael Desa 71d8047ad3 Pull the body of influx_stress main out
This commit abstracts out the body of `main()` and moves it into a separate
function `Runner` in `runner/runner.go`. Additonally two new types,
`Timer` and `Config` were introduced.

`Runner` takes in a `*Config` and returns the total number of points
written `totalPoints`, an slice of response times `responseTimes`, and a
timer with the starting and ending times of the test `*Timer`.
2015-09-09 11:21:16 -07:00
Michael Desa d57771dc17 Add Timer type that keeps track of start & end 2015-09-09 11:21:16 -07:00
Michael Desa 8b89332029 Add new file `runner.go` 2015-09-09 11:21:16 -07:00
Philip O'Toole ca07b86254 Prohibit dropping the default retention policy
This is to prevents users from putting their system into an awkward
state. It is a policy that all databases must have at least a default
retention policy.

Fixes issue #3699.
2015-09-08 23:00:19 -07:00
Cory LaNou 62e9c24b25 fixes #3926 2015-09-08 14:15:48 -05:00
Jason Wilder 77d310337c Clarify comment 2015-09-08 11:05:39 -06:00
Jason Wilder dabb01691e Close server is reverse order that it was started
The server was closing by stopping the most depended on services first
which causes various panics while higher level services are still processing
task when the server closes.

Fixes #3881
2015-09-08 11:04:00 -06:00
Philip O'Toole bbc103305b Support multiple Graphite inputs
Fixes issue #3636
2015-09-06 21:33:46 -07:00
Jason Wilder b8da247b08 Open monitor server after metastore is ready 2015-09-05 09:06:51 -06:00
Jason Wilder 13dbc8f0ba Merge pull request #3841 from influxdb/jw-file-utils
Add inspect tool
2015-09-04 14:12:05 -06:00
Philip O'Toole 267f8e6c11 Skipping race test
Issue #3997
2015-09-04 11:59:28 -07:00
Cory LaNou 3867fed0ff one additional test for top 2015-09-04 13:30:42 -05:00
Cory LaNou 9703467171 refactor validateAggregates 2015-09-04 13:30:41 -05:00
Cory LaNou 347ffc70b4 wire up advanced top sorting/slicing 2015-09-04 13:30:41 -05:00
Cory LaNou 8c4595b345 top is coming together. filling out fields properly 2015-09-04 13:30:41 -05:00
Cory LaNou ba79007960 wip 2015-09-04 13:30:41 -05:00
Cory LaNou f3e557d943 more top test scenarios 2015-09-04 13:30:41 -05:00
Cory LaNou 5a66725054 refactoring/adding top integration testing 2015-09-04 13:30:40 -05:00
Cory LaNou 35b9215aa9 refactor processTopBottom - wip 2015-09-04 13:30:40 -05:00
Cory LaNou 046282249a wip remapping top output 2015-09-04 13:30:40 -05:00
Cory LaNou 72fd115dc2 exposing tags on cursors, top/bottom are valid funcs now 2015-09-04 13:30:39 -05:00
dgnorton a3def8d3a7 Merge pull request #3993 from influxdb/dgn-fix-cq-test
fix CQ test
2015-09-04 13:12:29 -04:00
Jason Wilder 4a0d31d284 Fix broken rebase 2015-09-04 10:50:11 -06:00
Jason Wilder 23d4ce2efa Fix panic if a series does not exists in a shard 2015-09-04 10:38:59 -06:00
Jason Wilder 6b4926257a Add inspect tool
Start of a lower-level file inspection tool.  This currently dumps
summary statistics for the shards, index and WAL that can be used to
understand the shape of the data is in the local shards.  This util
operates on the shards itself and not through the server and is intended
more for debugging/troubleshooting.
2015-09-04 10:38:59 -06:00
David Norton 0d43fdb94c fix CQ test 2015-09-04 12:35:41 -04:00
Jason Wilder df70a1c8ce Update tests to use Direction enum 2015-09-04 09:00:11 -06:00
Jason Wilder b7c0d47008 Add aggregate order by desc test 2015-09-03 22:31:58 -06:00
Jason Wilder 266bdc1c2b Support sort by time DESC in wal and bz1 engines 2015-09-03 22:28:36 -06:00
Cory LaNou 6592dcc699 EnableLogging -> LoggingEnabled 2015-09-03 16:56:07 -05:00
Cory LaNou 473c04dc0d silence wal logging during testing 2015-09-03 15:17:03 -05:00
Ben Johnson deff06f850 add copier service
This commit adds the copier service which allows one server to
copy shards from another server. This will be used for moving
shards in the cluster.
2015-09-03 13:07:35 -06:00
David Norton 4187fb4257 skip test instead of commenting out 2015-09-03 09:40:45 -04:00
David Norton 2739f5e688 temporarily disable a CQ test 2015-09-03 07:12:15 -04:00
David Norton 66001cfbb5 fix #2555: add integration tests for CQs 2015-09-03 07:12:15 -04:00
Philip O'Toole c0d61740a4 Ensure monitor database exists
This requires a leader in the cluster, so wait for that before
attempting the database creation.
2015-09-02 16:26:16 -07:00
Philip O'Toole d820fa7649 Add PointsWriter to monitor
This will allow the monitor to persistently store statistics
2015-09-02 15:45:11 -07:00
Philip O'Toole 9165a0cf4c Create statement_executor for monitor 2015-09-02 15:44:56 -07:00
Philip O'Toole 4e2ee1ea70 Rename MonitorService to just Monitor
monitor is not a service, it has more in common with meta, since it
provides functionality to the query layer. This names makes this
clearer.
2015-09-02 15:07:30 -07:00
Jason Wilder 1d4ee6c3fa Add tests for influx consistency level parsing 2015-09-02 09:22:15 -06:00
Takayuki Usui 557f796566 Add an option to cmd/influx to set write consistency level
This patch introduces an option in influx allowing users to
select write consistency level, which has been implicitly
set to 'any' by default so far.
2015-09-02 11:00:06 +09:00
Philip O'Toole 9df17409d3 Use monitor service with Graphite 2015-09-01 15:21:36 -07:00
Philip O'Toole f05dc20b58 Hook new monitor service to server
u
2015-09-01 15:03:52 -07:00
Philip O'Toole d87e668c78 Remove obsolete monitoring code 2015-09-01 15:03:52 -07:00
Philip O'Toole 1a55951f36 Backend support for database IF NOT EXISTS 2015-08-28 19:04:54 -07:00
Philip O'Toole e0066760ba Make the startup log message actually first 2015-08-28 15:14:20 -07:00
Philip O'Toole 191163c7c7 Move to Go 1.5 2015-08-27 09:58:15 -07:00
Philip O'Toole 94484067f3 Log Go runtime version 2015-08-26 14:47:59 -07:00
Philip O'Toole 10779c9634 Unit-test predictable first/last point ordering 2015-08-25 22:26:04 -07:00
Philip O'Toole ca52a3ffd7 Allow queries to be looped
Some queries may be subject to race conditions. This variable allows the
test to request that a query is executed multiple times, increasing the
chance that any race will be exposed.
2015-08-25 15:16:13 -07:00
Cory LaNou ace4737228 throttle import 2015-08-21 15:07:01 -05:00
Philip O'Toole 20e5d5f3a9 Test explicitly SELECTing time as a field 2015-08-21 12:14:53 -07:00
Paul Dix 2752e894e1 Merge pull request #3762 from influxdb/pd-update-stress
Update stress to work with fewer than 10k series.
2015-08-21 11:24:27 -04:00
Philip O'Toole cd0ce4ac55 Re-enable chunking test post WAL updates
Fixes issue #3725.
2015-08-20 12:54:48 -07:00
Paul Dix 375afc3fcc Update stress to work with fewer than 10k series. 2015-08-20 09:36:06 -04:00
Jason Wilder cd3ef17fc6 Merge pull request #3743 from influxdb/jw-env-config
Apply env overrideds for config command
2015-08-19 15:20:03 -06:00
Jason Wilder 0b2aa62172 Merge pull request #3737 from influxdb/jw-wal-dir
Ensure wal-dir has a default value
2015-08-19 13:53:37 -06:00
Jason Wilder 67c54ddc47 Apply env overrideds for config command
Matches the behavior of the run command and lets you test env
vars override config values more easily.
2015-08-19 13:52:28 -06:00
Jason Wilder 6bd9561de0 Ensure wal-dir has a default value 2015-08-19 13:39:22 -06:00
Philip O'Toole de95a42d4e Skip failing chunking test
Until https://github.com/influxdb/influxdb/issues/3725 is fixed.
2015-08-19 11:40:02 -07:00
Paul Dix c31b88de60 Merge pull request #3569 from influxdb/pd-wal
Add initial WAL implementation and tests
2015-08-18 20:45:32 -04:00
Paul Dix 9df3b7d828 Add WAL configuration options 2015-08-18 16:59:54 -04:00
Philip O'Toole 28a6b1f3fd Merge pull request #3697 from influxdb/chunking_10k
Merge same-series data if not chunking
2015-08-18 13:23:10 -07:00
Philip O'Toole 0eb93d675d Add some unit tests related to partner testing 2015-08-17 14:36:13 -07:00
Philip O'Toole 487c336571 Correctly merge rows for identical series
If no chunking was requested by the user, the co-ordinating node buffers all
results in RAM before emitting a single result. However buffering was not
merging results for rows which had data for the same series. This change fixes this.

Fixes issue #3242.
2015-08-17 13:43:17 -07:00
Daniel Morsing 29de960638 adjust granularity of block profile
32bit int platforms can't handle a constant this high, so cap it at
1 second instead.
2015-08-17 09:55:38 -07:00
Paul Dix 9a53406e55 remove extraneous debug stuff 2015-08-16 12:46:50 -04:00
Paul Dix 6776014047 Fix bug in stress script, remove extraneous printlns 2015-08-16 12:46:50 -04:00
Paul Dix 48ede78d98 mend 2015-08-16 12:46:50 -04:00
Cory LaNou 014812d967 Merge pull request #3628 from influxdb/wildcard-expansion
Wildcard expansion
2015-08-14 15:29:14 -05:00
Daniel Morsing 72f51b0923 Merge pull request #3652 from influxdb/blockprof
turn on block profiling
2015-08-14 13:24:51 -07:00
Cory LaNou 4e04c069f9 error out if only tags are in the select clause 2015-08-14 15:24:37 -05:00
Cory LaNou b171ab6655 add many non GROUP BY * test scenarios. clean up comments for fixed tests 2015-08-14 15:05:27 -05:00
Cory LaNou d083ca463e add non group by host tests 2015-08-14 15:05:27 -05:00
Cory LaNou d58851a679 silence reporting in integration tests 2015-08-14 15:05:26 -05:00
Cory LaNou f507059ab4 more wildcard expansion tests 2015-08-14 15:05:26 -05:00
Cory LaNou 7fdb682966 first pass at raw queries with tags 2015-08-14 15:05:26 -05:00
Cory LaNou dc83c57d7e more wip 2015-08-14 15:05:26 -05:00
Cory LaNou 8ea3c47747 wip 2015-08-14 15:05:26 -05:00
Philip O'Toole 7b4879f0ce Fully remove a series when dropped
Fix issue #3226.
2015-08-14 10:50:35 -07:00
Jason Wilder f544113e8c Add test for CQ deadlock
Test script from #3517 that reproduces a CQ deadlock.  This is related
to #3522 as well.
2015-08-14 10:46:25 -06:00
Daniel Morsing 765eee74b1 turn on block profiling
This should help us figure out where exactly a database is hung when
it happens.
2015-08-13 15:28:53 -07:00
Philip O'Toole c81a0afb8f Merge pull request #3635 from influxdb/add_branch_to_version
Add build branch to version information
2015-08-13 14:41:14 -07:00
Philip O'Toole 717bce6899 Add build branch to version information 2015-08-13 13:40:51 -07:00
Philip O'Toole f74248c4e4 Add new server-level unit test
Added this as part of working on issue #3603.
2015-08-13 13:08:40 -07:00
Jason Wilder 668181d275 Make log statements more consistent
* Capitalize first letter of message
* Log all services staring consistently
* Remove some extraneous log statements in meta.Store
* Log data dirs for meta, data and hinted handoff
2015-08-13 10:01:42 -06:00
Jason Wilder 5dfd25269f Fix panic: reflect: call of reflect.Value.NumField on string Value
The env var overrides panic if we if peers was set in the config.
The type of that value is a []string and NumFields is not a valid
for that type.  We don't currently support this slice fields via
the env variable settings.  This particular one can be set with the
-join flag already so we just skip these fields for now.
2015-08-12 11:27:04 -06:00
Jason Wilder f07b8d4016 Make sure port is optional when passing hostanme flag 2015-08-12 10:41:43 -06:00
Philip O'Toole be792b926a Re-enable regex test
Test now passes after recent changes.
2015-08-10 17:17:17 -07:00
Philip O'Toole 5b39b96b9d Re-enable RP test
Test passes after latest changes.
2015-08-10 17:15:46 -07:00
Philip O'Toole f5c8280525 Fix multi UDP tests 2015-08-10 16:23:04 -07:00
Philip O'Toole 8dbcff833b Revert "Revert "Merge pull request #3599 from tpitale/multiple-udp-servers""
This reverts commit 5f83f038e1.
2015-08-10 16:21:27 -07:00
Philip O'Toole 5f83f038e1 Revert "Merge pull request #3599 from tpitale/multiple-udp-servers"
This reverts commit 7f35d65412, reversing
changes made to f828781544.
2015-08-10 14:44:14 -07:00
Philip O'Toole 7f35d65412 Merge pull request #3599 from tpitale/multiple-udp-servers
Change single udp config to support multiple UDP listeners
2015-08-10 14:22:27 -07:00
Philip O'Toole 84af826a0f Re-enable test "TestServer_Query_Now"
Recent changes must have fixed issue #2874.
2015-08-10 14:10:20 -07:00
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
Cory LaNou 765509bd68 revert breaking change to `client.NewClient` function 2015-08-06 11:46:25 -05:00
Cory LaNou 05fde32c2f silence output when connecting 2015-08-06 10:24:00 -05:00
Cory LaNou b29f9a4118 minor fix to help for influx 2015-08-06 09:19:56 -05:00
Cory LaNou 296f16d634 NewConfig should return a default config without needing params passed to it 2015-08-06 09:19:56 -05:00
Cory LaNou 76367d5161 refactoring based on feedback 2015-08-06 09:19:56 -05:00
Cory LaNou b0b229b1bd add godoc comments for v8 importer 2015-08-06 09:19:34 -05:00
Cory LaNou 05a8c106e8 add database/retention policy context switching. log failed imports 2015-08-06 09:19:34 -05:00
Cory LaNou 30a0ca0130 start of a v8 data importer via the cli 2015-08-06 09:19:34 -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
gunnaraasen 32d3d70da9 Remove all dump code from CLI 2015-07-23 17:21:01 -07:00
Sean Beckett 7b6cbbe9b3 removing DUMP from CLI help 2015-07-23 17:19:58 -07: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
Alexander Morozov 675eacbf2c Fix style issues with else
In go it's better to just continue flow without "else", if it is return in
"if" statement.

Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2015-07-17 11:10:23 -07:00
Philip O'Toole 62f0399645 Add another "use;" unit test 2015-07-17 10:57:01 -07:00
Timothy Raymond 21582ad0d6 Allow semicolons to trail database names in "use"
Prior to this commit, the "use" command treated trailing semicolons as
significant parts of the database name. This lead to a confusing user
experience since other parts of influxql treat the trailing semicolon as
a statement separator, or appear to ignore it. A typical use case looks
something like:

> show databases;
-- snip --
> use foo;

This commit trims off trailing semicolons from database names in "use"
commands if present to match user expectations.

Fixes #2258
2015-07-17 10:54:07 -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
gunnaraasen f46e66ef37 Update link in CLI shell help command 2015-07-14 10:46:49 -07:00
David Lawrence 6a2707a313 Update main.go
Make the formatting of the flag info consistent.

Signed-off-by: David Lawrence <dclwrnc@gmail.com> (github: endophage)
2015-07-10 10:27:30 -07: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 bd3284f491 Merge pull request #3177 from jipperinbham/command-line-https-support
add ssl flag to convert scheme to https
2015-06-29 14:01:37 -04:00
Philip O'Toole e554115178 Log GOMAXPROCS, version, and commit on start 2015-06-29 13:52:03 -04:00
JP 23728340d0 add ssl flag to convert scheme to https 2015-06-29 10:49:27 -05: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
gunnaraasen 9e59272b0b Change error message 2015-06-24 11:50:06 -07:00
gunnaraasen 5bb4d3d3e6 Add tests 2015-06-23 23:11:12 -07:00
gunnaraasen b01d63f148 Fix CLI panic on malformed INSERT. Fixes #3078 2015-06-23 23:11:11 -07: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 f60c816acb Merge pull request #2897 from influxdb/graphite_db
Ensure target Graphite database exists
2015-06-10 20:05:13 -07:00
Gunnar c9277e3b9d Merge pull request #2793 from influxdb/ga-cli-write
CLI: Add `INSERT` and `INSERT INTO` for writing points
2015-06-10 19:02:25 -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
gunnaraasen 2d712733e9 Clean up INSERT INTO parsing and tests 2015-06-09 15:45:26 -07:00
Philip O'Toole cbaf3cb0ed Support setting openTSDB consistency level 2015-06-09 15:39:31 -07:00
gunnaraasen c440849e3b Add tests for INSERT and INSERT INTO 2015-06-09 15:14:16 -07:00
gunnaraasen 030cb52602 Add INSERT INTO 2015-06-09 15:14:16 -07:00
gunnaraasen de389e6fc8 Add INSERT keyword to CLI for writing points via the line protocol 2015-06-09 15:14:16 -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