Commit Graph

875 Commits (329a0cdb743206500a87b5e641e029072a1a23b3)

Author SHA1 Message Date
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
Cory LaNou ae54d1f754 Merge pull request #2501 from neonstalwart/version-flag
name the FlagSet for the shell and add a version flag
2015-05-28 10:35:02 -06: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
ben hockey 7ee92cf9b8 name the FlagSet for the shell and add a version flag 2015-05-21 09:25:56 -05: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
Cory LaNou 60729fdd77 cli usage corrections 2015-05-18 18:18:44 -06:00
Cory LaNou 8beda919d0 update usage 2015-05-18 18:18:44 -06:00
Cory LaNou 977b84d6a0 update cli flags: output -> format, +pretty 2015-05-18 18:18:44 -06:00
Cory LaNou e947fc41b8 clean up liner before an os exit (skips the defer) 2015-05-18 18:18:44 -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 4171c568a1 Remove tests that require import of influxd main 2015-04-16 10:28:21 -07: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
Tristan Colgate-McFarlane 4b3345c10b OpenTSDB Input - use "value" as the field name
Closes #2280
2015-04-14 20:01:31 +01:00
Todd Persen eed570ea1b Fix merge conflict in CHANGELOG.md 2015-04-13 15:55:38 -07:00
Cory LaNou 96a30389f8 pr review changes 2015-04-13 16:27:43 -06:00
Jason Wilder b4d5d03a47 Ensure API can listen on separate interface/port
The HTTP bind address/port config was not actually being used.
2015-04-13 16:27:29 -06:00
Jason Wilder d78033bb49 Remove snapshot bind-address, port from config
Now listens on the cluster port.  Snapshots can still be disabled
though.
2015-04-13 16:27:29 -06:00
Jason Wilder 2f394a5cff Move snapshot server to cluster handler
This removes the separate port listener and adds it as a route
on the cluster port.
2015-04-13 16:27:23 -06:00
Cory LaNou 33f976a340 lot of refactoring to create integration tests for cli 2015-04-13 15:56:49 -06:00
Cory LaNou 1ae5c09f61 let the client library handle setting auth 2015-04-13 15:56:29 -06:00
Cory LaNou 6240cc38ba refactor parse config on startup 2015-04-13 15:56:29 -06:00
Jason Wilder bdcb949916 Rename serveMetadata to serveData 2015-04-13 15:38:42 -06:00
Jason Wilder 0bf03347cb Rename serveData to serveAPI 2015-04-13 15:38:42 -06:00
Jason Wilder e47ee66b07 Make top-level handler less brittle
Move the data node specific routes under a common /data prefix so
add new handler does require updates to the top level handler as well.
2015-04-13 15:38:42 -06:00
Philip O'Toole 261ff11fe3 Merge pull request #2240 from n1tr0g/exit_code
improved exit code(s) for influx CLI
2015-04-12 21:52:03 -07:00
David Norton c94785780d fix #2251: fix panic when changing default RP 2015-04-12 13:04:10 -04:00
Philip O'Toole d33e6138c4 Disable DQ integration testing 2015-04-11 11:52:37 -07:00
Dejan Golja c232e21ef1 improve exit code(s) for influx CLI 2015-04-11 20:45:08 +10:00
Philip O'Toole 5890025803 Make it clearer in tests where numbers come from 2015-04-10 16:30:49 -07:00
Philip O'Toole 925de06277 Seems like partial replication reads take longer 2015-04-10 16:19:46 -07:00
Philip O'Toole 2c554f45ba Hook up "run_mapper" in top-level handler
No doubt about it, URL routing is definitely brittle and needs work.
2015-04-10 16:19:46 -07:00
Philip O'Toole 559e1d40bd Use different base port range for DQ testing 2015-04-10 16:11:34 -07:00
Paul Dix 37d4f2a265 Fixes based on feedback. 2015-04-10 16:11:34 -07:00
Paul Dix 8a25683b92 Fix opentsdb integration tests after rebase 2015-04-10 16:11:34 -07:00
Paul Dix f5dfb147ee Fix wildcard group by query with time test to be correct. 2015-04-10 16:11:34 -07:00
Paul Dix 4a0c46830e Fix the group by multiple dimensions test to be correct. 2015-04-10 16:11:34 -07:00
Paul Dix 6e8ea9ae91 Fix errors on limits and chunked raw queries. 2015-04-10 16:11:34 -07:00
Paul Dix 113995032e WIP: Initial implementation of remote mapper for distributed queries. 2015-04-10 16:11:34 -07:00
Paul Dix 728f5deb20 uncoment raw ordering test 2015-04-10 16:11:33 -07:00
Paul Dix 2a3ed635ed Add chunked responses and streaming of raw queries.
Refactored query engine to have different processing pipeline for raw queries. This enables queries that have a large offset to not keep everything in memory. It also makes it so that queries against raw data that have a limit will only p
rocess up to that limit and then bail out.

Raw data queries will only read up to a certain point in the map phase before yielding to the engine for further processing.

Fixes #2029 and fixes #2030
2015-04-10 16:11:33 -07:00
Ben Johnson 3404386a02 Merge pull request #2236 from influxdb/term-signal
Term signal
2015-04-10 17:02:13 -06:00
Ben Johnson eaf4bfca0a Fix term signal.
This commit changes raft so that term changes are made immediately and
term change signals are made afterward. Previously, election timeouts
were invalidated by incoming term changes which caused an election loop.

Stale term was also fixed and http/pprof was added too.
2015-04-10 13:52:20 -06:00
Cory LaNou f6f6323726 Refactor the queryAndWait in the integration tests 2015-04-10 13:22:58 -06:00
Jason Wilder a5e180ca31 Merge pull request #2229 from influxdb/jw-run
Close resources when stopping a node
2015-04-09 22:10:50 -06:00
Jason Wilder 9b2e2bbbc9 Make Node.Close() return error instead of fataling 2015-04-09 20:51:46 -06:00
Jason Wilder 79390d0de6 Remove base port fiddling in server integration test 2015-04-09 20:51:46 -06:00
Jason Wilder 272f855d81 Close snapshot listener when closing a node 2015-04-09 20:51:46 -06:00
Jason Wilder 1494f70786 Close admin server when stopping the node 2015-04-09 20:51:40 -06:00
Cory LaNou 14042e31b9 Merge pull request #2214 from n1tr0g/exec_cmd
Added the option to influx CLI to execute single command and exit.
2015-04-09 13:16:51 -06:00
David Norton 25cea58635 refactor scanning & parsing of identifiers 2015-04-09 13:21:13 -04:00
Jason Wilder 73bd5847b0 Close the cluster listener when closing a node
These were never closed which causes some port dancing issues
in the tests
2015-04-09 09:54:42 -06:00
Jason Wilder cec866dee0 Ensure test cluster nodes are closed 2015-04-09 09:47:21 -06:00
Jason Wilder b7f47e1630 Return the Node from RunCommand 2015-04-09 09:44:44 -06:00
Dejan Golja 0f7e3d259b Added the option to influx CLI to execute single command and exit.
Helpful when scripting and automating installs
2015-04-10 00:27:57 +10:00
Jason Wilder 94f9ad0624 Fix unable to join race
2015/04/08 22:27:01 no broker or server configured to handle messaging endpoints
2015/04/08 22:27:02 join: failed to connect data node: http://box296:9012: unable to join
2015/04/08 22:27:02 join: failed to connect data node to any specified server

There is a race when joining a data only node to a broker and another data only node between the
data node heartbeater and the join operation.  If the heartbeater
fire before the join attempt, it's possible for the booting data node
to be selected as the first data node for redirection by the broker.
The join attempt would request a data node endpoint on the broker "/data_nodes"
but since the broker cannot handle it, it would redirect to a valid broker.

During this race, the broker would redirect the request back to the same server.  If
this happens, the data node would get stuck and not be able to join because it's
still booting.

To work around this, the redirect is randonmized and the join calls will not attempt
to call itself and instead re-request the original URL.  A better fix might be to
not start the heartbeater until after the datanode has joined or initialized.
2015-04-08 20:50:24 -06:00
Jason Wilder d6d12f2342 Fix erroneous logging for http handlers 2015-04-08 20:50:24 -06:00
Jason Wilder 0dbf66e2fe Cleanup join logic and logging
Make it more explicit when existing cluster state is being used
versus join URLs.  Also consolidate some duplicated `if index==0`
checks.
2015-04-08 20:49:58 -06:00
Jason Wilder 59a80fb7be Simplify data node join urls
If the node is running a broker and a data node, always have the
data node client connect to the local broker since it will already
be initialized or joined.
2015-04-08 20:49:58 -06:00
Jason Wilder a612b8a0f6 Bring back Initialization.JoinURLs config option
Removing this option causes issues when deploying influxd
via configuration management. We can now define the same
set of join URLs in the config file across nodes.

This also ensures that the `-flag` option overrides the
config file setting if passed.
2015-04-08 20:49:58 -06:00
Cory LaNou ed05cadf35 move where we enable continous queries when starting up 2015-04-08 15:43:09 -06:00
Cory LaNou 65184aabc4 enable continuous query 2015-04-08 12:25:04 -06:00
Jason Wilder d8342ef281 Exit all queryAndWait goroutines when returning
The timeout goroutine would continue to run (until the timeout)
even after queryAndWait returned.  This causes thousands of extra
goroutines to linger around and makes the test stack traces very
difficult to read.
2015-04-08 10:34:00 -06:00
Jason Wilder be10db87d2 Ensure broker and data nodes are enabled by default
NewTestConfig() would enable broker and data nodes so running
influxd w/o a config file would start the nodes.  If you ran
influxd w/ a config file but did not explicitly set Data.Enabled
or Broker.Enabled, the server would not start.  This is not
intuitive when moving to a config file setup.

Instead, broker and data are enabled w/ the config file (like w/o)
and they must be explicitly disabled to run in a data or broker
only mode. This will help w/ backwards compatibility with existing
config files.
2015-04-07 12:17:34 -06:00
Jason Wilder 2b502858dc Prevent starting server if both broker and data are disabled
Not a valid configuration so print the error and some suggestions
to fix it.
2015-04-07 12:17:28 -06:00
Paul Dix a72707bdbc Merge pull request #2175 from influxdb/data-broker-1934
Separate broker and data nodes
2015-04-07 11:33:39 -04:00
Jason Wilder 9e109e847b Fix typos in comments 2015-04-06 21:39:18 -06:00
Mark Rushakoff 48b3986579 Merge pull request #2176 from influxdb/consistent-usage-printing
Use fmt.Println, not log.Println to print usage
2015-04-06 15:55:21 -07:00
Jason Wilder 01c2de62b0 Rename Server to Node
Server is very overloaded currently so use Node to represent the
container that holds onto a broker and data node (server currently)
2015-04-06 16:38:01 -06:00
Jason Wilder 54821538d1 Ignore join urls if restarting a node
If a node is restarted and it had already joined the cluster,
ignore and log that the join urls are being ignored and existing
cluster state will be used.
2015-04-06 16:38:01 -06:00
Jason Wilder aa5696c10d Handle server unavailable response
When starting multiple servers concurrently, they can race to connect
to each other.  This change just has the join attempts retry to make
cluster setup easier.
2015-04-06 16:38:01 -06:00
Jason Wilder 01ee3fe352 Re-enable 3 node test 2015-04-06 16:38:01 -06:00
Jason Wilder 8b5307f6e8 Remove all join URLs from config
This removes all join URLs from the config.  To join a node to a
cluster, the URL of another member of the cluster should be passed
on the command line w/ the -join flag.  The join URLs can now be
any node regardless of whether the node is a broker only or data
only node.  At join time, the receiving node will redirect the
request to a valid broker or data node if it cannot handle the request
itself.
2015-04-06 16:38:01 -06:00
Jason Wilder 9af362bff5 Rename DataAddrUDP to APIAddrUDP 2015-04-06 16:38:00 -06:00
Jason Wilder d06c4ead5c Replace broker url w/ cluster url 2015-04-06 16:38:00 -06:00
Jason Wilder 5e3c26a636 Replace data port w/ cluster port 2015-04-06 16:38:00 -06:00
Jason Wilder b85eba550d Separate cluster and API endpoints 2015-04-06 16:38:00 -06:00
Jason Wilder 4a7cae4391 Replace broker port w/ cluster port 2015-04-06 16:38:00 -06:00
Jason Wilder 23819d10d2 Add Cluster port
This is the port that all cluster communication will take place
over.  It will replace the separate data and broker ports.
2015-04-06 16:38:00 -06:00
Jason Wilder 73f6f8cb44 Remove unused cluster config section 2015-04-06 16:38:00 -06:00
Jason Wilder 8ff4b51063 Temporarily disable 3 node server test
How a cluster is setup has changed and this test is failing w/
panic: assert failed: invalid initial server id: 2 [recovered]

There is an existing multi-node test w/ a broker and two data
nodes so we're still covering this case and will need to come
back to it.
2015-04-06 16:38:00 -06:00
Jason Wilder 60c66c8515 Add data node join URLs
To add a new data node, it currently needs a broker
and another data node to join.  Temporarily adding
a JoinURLs option to the Data node section so a
standalone data node can be created but the intent is
that this will be removed.

Ideally, the the joinURL could point to either a data node
or a broker and it would get the required URLs from that
host but that is not possible currently.
2015-04-06 16:38:00 -06:00
Jason Wilder 5d6536f693 First pass at separate data and broker nodes
Adds a simple test to start a separate broker and
data node.  Data nodes still need a separate set
join URLs which is not in place yet.
2015-04-06 16:38:00 -06:00
Jason Wilder 388b1c2c05 Refactor openServer/openBroker
Simplified signature and state now depends on indexes vs directory
existence
2015-04-06 16:38:00 -06:00
Jason Wilder 6fa0ea01dd Move openBroker to RunCommand.openBroker 2015-04-06 16:38:00 -06:00
Jason Wilder c63866ea62 Remove Broker.Timout config
Not used
2015-04-06 16:38:00 -06:00
Jason Wilder 18db6fa7ba Separate baseline config from test config 2015-04-06 16:38:00 -06:00
Jason Wilder 45a2db9f0d Rename graphite/collect bind address config var name
Make it consistent w/ pre-existing "bind-address config options.
2015-04-06 16:37:59 -06:00
Jason Wilder 524e0719ed Add missing tests for snaphost config 2015-04-06 16:37:59 -06:00
Jason Wilder 384e3f3683 Add tests for config data/broker enabled 2015-04-06 16:37:59 -06:00
Jason Wilder eb9956b844 Rename ContinuouseQuery Disable to Disabled
Match Broker and Data config var names
2015-04-06 16:37:59 -06:00
Jason Wilder dcb3e85e84 Add a enabled config option for broker and data options 2015-04-06 16:37:59 -06:00
Jason Wilder 358bb9b3d9 Convert flag.String to flag.StringVar 2015-04-06 16:37:59 -06:00
Jason Wilder 5918d48f73 Allow passing config to RunCommand.Open 2015-04-06 16:37:59 -06:00
Jason Wilder 070bb3ccc6 Add logger to RunCommand 2015-04-06 16:37:59 -06:00