Commit Graph

473 Commits (34544d2c4b68158c0588d55a2d2d221ffb3b1a1b)

Author SHA1 Message Date
Ben Johnson 60b051ee88 LIMIT/OFFSET 2016-02-10 09:40:24 -07:00
Ben Johnson cde973f409 refactor query engine 2016-02-10 09:40:24 -07:00
runner.mei 978305a6dd fix unit test of influxd in the windows
fix unit test of influxd in the windows
2016-02-05 11:44:14 +08:00
Jason Wilder 1c19320e79 Merge pull request #5515 from influxdata/jw-config
Remove top-level dir config option
2016-02-02 13:26:11 -07:00
Jason Wilder 51da6e3d56 Remove top-level dir config option
This breaks backup/restore if it's not "meta" as well as breaks
upgrades from prior releases for some users.
2016-02-02 13:03:44 -07:00
Seif Lotfy 0864816c8b Add unit tests to ensure retention policy for non existing db is not created 2016-02-02 21:03:16 +01:00
Seif Lotfy c3fb710871 Initialize MetaClient before setting it up as a data and/or meta node
Take out MetaClient initialization from initializeDataNode and invoke it
in (server.)Open after MetaService is opened.
Fixes #5479
2016-02-02 17:39:29 +01:00
Cory LaNou f8b1aa69a1 ignore join arguments on restart 2016-02-01 12:47:15 -05:00
Cory LaNou 0f6c75ab7d make tests pass 2016-01-28 11:03:44 -06:00
Cory LaNou 53323737b2 no longer need nil check 2016-01-28 10:05:54 -06:00
Cory LaNou d70b694d7d fix misc meta statup bugs 2016-01-28 10:05:53 -06:00
Cory LaNou 31c2e7012a allow for node upgrade 2016-01-28 10:05:53 -06:00
Jason Wilder 716714364a Backup node.json with metastore backup 2016-01-27 17:39:54 -07:00
Jason Wilder 5abdb42a7d Use a bounded pool for remote writes
Under highly conncurrent write load, the coordinating node would
create a connection to any other node that is part of the replica
group.  Since each connection can be expensive, OOM sitations could
occur because there was no bounds on the number of new connections
that would be created.  If writes on a remote node were slow, connections
could pile up an exacerbate the problem.

This switches the pool to be bounded and has a checkout that is blocking
with a timeout.  If a connection is available, it's returned immediately.
If the pool still has room for more connections, it will create one if needed.
Otherwise, the call will block until a connection becomes available or
the timeout expires.  In the case of a timeout, it is propogated back up
to the PointsWriter that determine what do return to the client.
2016-01-26 17:08:36 -07:00
Jason Wilder 1696db1c40 Fixup default hostname and config 2016-01-22 17:05:25 -07:00
Jason Wilder 8456169855 Update backup/restore to use MetaClient 2016-01-21 15:32:35 -05:00
Cory LaNou ef596c6b6b skip backup/restore test until we update the code 2016-01-21 15:32:03 -05:00
Cory LaNou 15314111cb buildable test suite 2016-01-21 15:31:27 -05:00
Jason Wilder b7e1ecf471 Close idle MetaClient http connections
Prevents too many open files when running tests
2016-01-21 15:30:09 -05:00
Jason Wilder bbe13c2818 Ensure HTTP and TCP bind addresses have hostnames
If a bind-address of :8088 is used, cluster nodes cannot
connect to those nodes because there is no hostname portion
of the address.  When we see a bind-address without a hostname,
use the os hostname or localhost if that fails if it is not specified
in the config already.
2016-01-21 15:28:34 -05:00
Paul Dix 7b71b66e31 Update meta service, meta client, and httpd handler
* Improve the ping endpoint so that it can optionally check for leader agreement across all meta servers
* Add Ping method to the meta client
* Fix ClusterID tests
* Remove WaitForLeader from meta client and remove unnecessary references to it
2016-01-21 15:28:33 -05:00
Paul Dix 101ab32571 Fix meta-service for server integration tests
* Updated CreateShardGroup to not return an error if it already exists so it's idempotent
* Removed old test making sure you can't delete the default RP. You can delete it now, there was no reason to disallow it.
* Wired up the UpdateRetentionPolicy functionality
2016-01-21 15:28:33 -05:00
Paul Dix 68f33c93ce Finish wiring up meta service to server 2016-01-21 15:28:33 -05:00
Paul Dix f385945058 Update Server to work with new metaservice/client 2016-01-21 15:28:33 -05:00
Paul Dix c9d82ad0ad Wire up meta service functionality
* Add dir, hostname, and bind address to top level config since it applies to services other than meta
* Add enabled flags to example toml for data and meta services
* Wire up add/remove raft peers and meta servers to meta service
* Update DROP SERVER to be either DROP META SERVER or DROP DATA SERVER
* Bring over statement executor from old meta package
* Start meta service client implementation
* Update meta service test to use the client
* Wire up node ID/meta server storage information
2016-01-21 15:28:32 -05:00
Cory LaNou 9ec7a710c9 some misc refactoring on influxd startup 2016-01-21 15:28:32 -05:00
Cory LaNou 8d878fff91 buildable meta -> services/meta 2016-01-21 15:28:32 -05:00
Paul Dix 59fbd371fc Implement backup/restore for TSM.
This changes backup and restore to work for TSM. It breaks it for b1 and bz1, but since those are getting removed it's ok.

The backup runs against any host that is specified and can backup either the metasstore, a database, specific retention policy, or a specific shard. It can also take incremental backups with the `since` flag, which will only backup TSM files that have been created since that timestamp.

The backup is safe to run online. However, for shards that are still hot for writes, they won't be able to create new TSM files while the backup for that single shard runs. If the backup isn't too large and the write throughput isn't too high this shouldn't be a problem since the writes will just go into the WAL cache.
2015-12-30 18:06:50 -05:00
Philip O'Toole 767a7f5131 'broker' and 'data' are obsolete 2015-12-23 15:27:47 -05:00
Philip O'Toole 2a101dc379 Add profiling flags to help output 2015-12-23 15:22:50 -05:00
David Norton 69f22803d2 fix #4303: duplicate url.Values 2015-12-14 12:28:01 -05:00
David Norton 3014fb90e4 fix #4303: don't drop from multiple databases 2015-12-12 13:54:23 -05:00
Tim Raymond 718fb92cf5 Remove registration, add 'usage-client'
Server registration and stats reporting has been removed from what was
once http://enterprise.influxdata.com. The app that lived there, now
runs at http://usage.influxdata.com, so that the subdomain can
eventually be repurposed. Because we also want to repurpose the
`enterprise-client` repo, we have also renamed that to `usage-client`.
InfluxDB no longer needs the `registration` service now, since all of
the endpoints it communicates with simply discard the data provided to
them.
2015-12-10 15:58:34 -05:00
Philip O'Toole def5e06150 Merge pull request #5064 from mengjinglei/fix-parens-math
fix issue #5054
2015-12-10 08:44:48 -08:00
mengjingleli 149b93fd4b add a test case 2015-12-10 13:51:43 +08:00
Nathaniel Cook b7000c80dd count with fill(none) will drop 0 valued intervals 2015-12-09 15:20:47 -07:00
mengjingleli 3a901abbd8 fix issue #5054 2015-12-09 15:27:33 +08:00
Philip O'Toole cfc000a688 Skip cluster tests until fixed 2015-12-08 10:58:53 -08:00
Philip O'Toole 99fa678932 Test and variable rename for aggregate math
Fixes nits from https://github.com/influxdb/influxdb/pull/5013.
2015-12-07 14:18:49 -08:00
Nathaniel Cook 7ffbbc1072 make fill previous for count() queries work 2015-12-07 12:51:40 -07:00
Nathaniel Cook 06bc25d64b add integration tests for derivative calls and all other valid functions, convert PositionPoint to float64 2015-12-07 12:51:39 -07:00
Philip O'Toole 4f69936564 Add more math unit tests to server-level tests 2015-12-04 11:23:35 -08:00
Cory LaNou 477110f0b7 add option to disable logging for meta service. useful for testing 2015-12-03 11:11:36 -06:00
Cory LaNou 0c2588ed43 cluster retention auto create test 2015-12-03 08:08:57 -06:00
Cory LaNou 52da1c76d6 cluster retention policy tests 2015-12-03 08:08:56 -06:00
Cory LaNou 96c230d968 allow for configurable cluster creation 2015-12-03 08:08:56 -06:00
Cory LaNou ab57bde115 more tests, some refactoring 2015-12-03 08:08:56 -06:00
Cory LaNou 91da96eb34 fix race in test harness 2015-12-03 08:08:56 -06:00
Cory LaNou 6e845839c8 fix flakey test harness 2015-12-03 08:08:56 -06:00
Cory LaNou 967a53cabd start sharing integration tests for cluster tests 2015-12-03 08:08:56 -06:00
David Norton 3208564192 fix RP not found error messages 2015-12-03 08:04:09 -06:00
David Norton 343f00d1f2 fix go vet errors 2015-12-03 08:04:09 -06:00
David Norton 76d291e88e beginning of cluster test harness 2015-12-03 08:04:09 -06:00
Paulo Pires 8e2868ed60 Added support for setting retention policy on database creation.
Fixes #2676
2015-11-27 20:02:55 +00:00
Mark Bates 98632778dd %s will convert a float to a less than useful string. %v is better. 2015-11-20 15:43:35 -05:00
Mark Bates c71e323d63 ServerID and ClusterID need to be strings when being sent to Enterprise. 2015-11-20 15:22:27 -05:00
Cory LaNou 6309ec9a68 fix time inclusive comparison 2015-11-17 10:43:27 -06:00
Cory LaNou 824d7a1d9b Add interface for heap to support Reverse for `order by desc` 2015-11-16 15:10:55 -06:00
Philip O'Toole 912684b8d6 WHERE fields must be decoded during aggregates
This change ensures that if there are any fields in the WHERE clause of
an aggregate that are different from the fields in the SELECT clause,
that the cursors also decode those fields. Otherwise WHERE clauses of
the form 'SELECT f(w) FROM x WHERE y=z' will return incorrect results

Fixes issue #4701.
2015-11-13 15:18:54 -08:00
Philip O'Toole eebf157171 Remove incorrect count() tests 2015-11-12 19:08:44 -08:00
Philip O'Toole f889ac1140 If no points to count, count is 0
Fix issue #4701.
2015-11-12 18:52:58 -08:00
Philip O'Toole dc609b06fd Set GOMAXPROCS before log message
Previously the impression was being given that GOMAXPROCS was not being
set correctly.
2015-11-12 13:28:35 -08:00
Philip O'Toole 3cab8fac02 Revert to Go 1.4.2
This is not passing 'go vet' under 1.4.2.
2015-11-11 15:48:37 -08:00
Philip O'Toole bc1091ec31 Revert "Merge pull request #4684 from nkatsaros/default-config"
This reverts commit 87441584f3, reversing
changes made to a14829bc1d.
2015-11-11 09:29:06 -08:00
Pablo Miranda b908cbb866 fix lint errors for cmd/...
corrects the initialize package comment for lint

brings c.ServerVersion back
2015-11-10 23:13:01 -08:00
ch33hau 8bfdfbda0b Disable HintedHandoff if configuration is not set. #4283 2015-11-11 01:12:34 +08:00
ch33hau 2235dcec6b Added IF EXISTS for DROP DATABASE command, #4659 2015-11-07 10:57:49 +08:00
Mark Bates 8ac958f8a0 Merge pull request #4683 from influxdb/enterprise-client
Updated to use the new Enterprise Client
2015-11-06 13:13:15 -05:00
Mark Bates d46bf535b2 Report anonymous stats to Enterprise 2015-11-06 10:30:57 -05:00
Philip O'Toole 87441584f3 Merge pull request #4684 from nkatsaros/default-config
Add graphite and udp services to the default config generator
2015-11-05 17:53:15 -08:00
Nathaniel Cook 1719a6107c PointsWriter will drop writes to subscriber service for any in-flight writes 2015-11-05 16:25:00 -07:00
Nicholas Katsaros 4f8b0aca9a Add graphite and udp services to the default config generator 2015-11-05 16:42:21 -05:00
Jason Wilder 7508a2a252 Merge pull request #4587 from influxdb/jw-nan
Prevent NaN float values from being stored
2015-10-28 09:28:04 -06:00
Philip O'Toole d8e4655e0f Merge pull request #4586 from influxdb/engine_fail_msg
Exit when invalid engine is selected
2015-10-27 21:50:01 -07:00
Philip O'Toole 00b2454c53 Exit if invalid engine is selected
Fix #4584, related to #4583
2015-10-27 17:29:18 -07:00
Jason Wilder 7d6d23e661 Write as many points as we can parse via line protocol
This changes the HTTP line protocol handler to behave similar to the other
handler in that they will write as many points as possible.  Previously, we
would fail the entire batch if one point failed.  This can happen more frequently
now with NaN being more explicitly unsupported.  Now it will write as many points
that parse successfully and return a "partial write" error to the client with the
lines that failed to parse.
2015-10-27 17:12:57 -06:00
Philip O'Toole f703f58d22 Add HH diagnostics 2015-10-26 18:59:58 -07:00
Cory LaNou ff4209436f close raftState before waiting 2015-10-23 14:48:32 -06:00
Cory LaNou 90beaee803 silence subscriber service logging during testing 2015-10-23 14:48:32 -06:00
Ben Johnson 28b585e639 refactor tsdb query engine
This commit refactors the tsdb query engine to use separate aggregate
and raw execution paths, encapsulates cursor functionality, and removes
the TagSetCursor from the aggregate path. By removing the TagSetCursor,
we can pass sets of unordered values to the map functions and bypass
the `container/heap` entirely.
2015-10-22 09:41:12 -06:00
Philip O'Toole 956efaeb94 Merge pull request #4506 from influxdb/enterprise_stats
Enterprise registration as a service
2015-10-20 08:57:19 -07:00
David Norton a3d127f797 Revert "add RENAME DATABASE"
This reverts commit 7212bfce83.

Conflicts:
	influxql/parser.go
	influxql/token.go
	meta/internal/meta.pb.go
	meta/internal/meta.proto
2015-10-20 09:01:34 -04:00
David Norton 307d51dad5 Revert "add integration test for RENAME DATABASE"
This reverts commit d2afd881e6.
2015-10-20 08:43:57 -04:00
David Norton 20929c3db2 Revert "change syntax to ALTER DATABASE ... RENAME TO ..."
This reverts commit 668b5b9bfb.
2015-10-20 08:43:45 -04:00
David Norton 73a0c0a247 Revert "return error when database rename conflicts with continuous queries"
This reverts commit 60d298936e.
2015-10-20 08:39:03 -04:00
Philip O'Toole 878663e1e3 Periodic upload of stats to Enterprise 2015-10-19 15:25:07 -07:00
Philip O'Toole 667ad3342a Refactor registration as a service
Registration also involves statistics and diagnostics upload, for the
purposes of remote management. This means there will be long-running
goroutines in effect. Therefore move the code to a service model.
2015-10-19 15:01:14 -07:00
David Norton a268ba6bb4 feat #3523: add unit test for no matches 2015-10-19 14:40:06 -04:00
David Norton 401447cbed feat #3523: filter SHOW MEASUREMENTS by WITH 2015-10-19 14:00:53 -04:00
Daniel Morsing e73c37088f Merge pull request #4454 from influxdb/intofixes
Intofixes
2015-10-19 18:58:42 +01:00
Charles Chan 456a9a8ab7 Fix typos.
* meaining --> meaning
* communcation --> communication
* deterimine --> determine
* mistmatch --> mistmatch
2015-10-17 07:50:45 -07:00
David Norton 026611aea9 fix #4475: update unit test for new error message 2015-10-16 10:50:35 -04:00
Cory LaNou a2102e19ba always return time, never strings. fixes #4415 2015-10-15 20:19:58 -05:00
Mark Bates 8f16a85cd2 Fixed issue sending JSON numbers to Enterprise when it wants strings 2015-10-15 16:51:48 -04:00
Philip O'Toole 0f001a6d9a Handle registration errors from Enterprise server 2015-10-15 13:48:23 -07:00
Philip O'Toole 07db774423 Register with Enterprise if token available 2015-10-15 13:13:34 -07:00
Philip O'Toole a7e841f447 Add config support for Enterprise token 2015-10-15 13:02:16 -07:00
Nathaniel Cook cb1aaa8e42 Merge pull request #4375 from influxdb/subscriptions
Feature add subscriber service for creating/dropping subscriptions
2015-10-15 09:17:26 -06:00
Daniel Morsing d990b5f28d fix into queries when encountering nil values.
For aggregate queries, having a null result means that you haven't
got any data for that time period. CQs used this as a signal that
the measurement was not created and dropped the entire write.

INTO queries can have any structure, including wildcards, so dropping
the entire query isn't going to work. Instead, just drop the nulls
returned.
2015-10-15 12:12:40 +00:00
Sean Beckett 82f104a8b1 Merge pull request #4436 from influxdb/tag-names-to-keys
WIP tag name --> tag key, field name --> field key
2015-10-14 16:02:46 -07:00
Nathaniel Cook 8b31007aa7 Adds subscriber service for creating/dropping subscriptions to the
InfluxDB data stream.
2015-10-14 15:23:45 -06:00
Philip O'Toole f298e88b39 Auto-create UDP service database
All other services operate like this, so make UDP service consistent.
2015-10-14 08:30:09 -07:00
Daniel Morsing 6d188d9703 Merge pull request #4409 from influxdb/intoq
wire up INTO queries.
2015-10-14 15:29:54 +01:00
Daniel Morsing 48223a90f9 Fix spelling nit.
Make it obvious that INTO is a keyword and not part of the sentence
2015-10-14 15:16:27 +01:00
Sean Beckett 8e65f0c84f Update server_test.go 2015-10-13 16:53:10 -07:00
Sean Beckett 9a9e04084f Update config.go 2015-10-13 16:49:09 -07:00
Daniel Morsing 822af73f88 implement continuous queries as regular execs of into queries.
Now that we have into queries, we can implement them as regular
queries that are just run on a timer.
2015-10-13 15:51:19 +00:00
Daniel Morsing 62dff895e2 wire up INTO queries.
Since INTO queries need to have absolute information about the database
to work, we need to create a loopback interface back to the cluster
in order to perform them.
2015-10-13 15:00:36 +00:00
Cory LaNou 6787525912 fixes multiple selectors overwriting each other. fixes #4360 2015-10-12 21:40:57 -05:00
David Norton 512d6ac050 fix #4280: only drop points matching WHERE clause 2015-10-09 18:34:32 -04:00
linearb 60d298936e return error when database rename conflicts with continuous queries 2015-10-09 13:57:02 -04:00
linearb 668b5b9bfb change syntax to ALTER DATABASE ... RENAME TO ... 2015-10-09 13:56:23 -04:00
linearb d2afd881e6 add integration test for RENAME DATABASE 2015-10-09 13:55:38 -04:00
linearb 7212bfce83 add RENAME DATABASE 2015-10-09 13:55:38 -04:00
Philip O'Toole 5b0a8ed306 HH should not process dropped nodes 2015-10-08 18:23:12 -07:00
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
David Norton 4375545064 fix #4276: walk DropSeriesStatement 2015-10-05 19:56:30 -04: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
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 56cb2fae5d fix integration tests 2015-09-22 13:10:13 -06:00
David Norton 8bd2408320 convert SHOW TAG KEYS to distributed query 2015-09-21 11:30:51 -04: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 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
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 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
Cory LaNou fa04b0ab20 add server integration tests 2015-09-09 15:46:21 -05: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
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
Philip O'Toole 267f8e6c11 Skipping race test
Issue #3997
2015-09-04 11:59:28 -07:00