Commit Graph

624 Commits (fd840f242c7a3afc90e9198d68b4a97225f78299)

Author SHA1 Message Date
mvadu 8af9170c1d Add platform specific override for file rename.
In windows, it first deletes the target file (if it already exists).
2016-03-18 21:45:29 +05:30
Gunnar c6ff2588d1 Merge pull request #6025 from influxdata/ga-remove-json
Remove deprecated JSON write path
2016-03-16 14:17:23 -07:00
Todd Persen 58d1c8ded0 Display results of multiple queries in Admin UI, Not just the first query. 2016-03-16 13:22:37 -07:00
David Norton 515dadb1ef remove commented code 2016-03-16 08:58:55 -04:00
gunnaraasen d96eef4c52 Remove deprecated JSON write path 2016-03-15 19:52:41 -07:00
David Norton f775514e0d add snapshotter client 2016-03-15 13:48:26 -04:00
Edd Robinson e5a41f7796 DROP SHARD 2016-03-14 22:59:55 +00:00
David Norton 96327f3863 remove unnecessary change 2016-03-14 18:43:49 -04:00
David Norton a2125bee24 check existing user with bcrypt 2016-03-14 18:40:25 -04:00
David Norton aede1b7478 make CREATE USER default to IF NOT EXISTS 2016-03-14 17:44:48 -04:00
Cory LaNou ba6a95e9bc Merge pull request #5994 from influxdata/single-server-lite
Single Server
2016-03-14 16:11:37 -05:00
Cory LaNou 1d2c1faa94 address PR feedback 2016-03-14 16:55:54 +00:00
Cory LaNou d024ca2552 modify WritePoints function signature for p products 2016-03-14 16:55:54 +00:00
Cory LaNou e2e231310e make work with p-meta 2016-03-14 16:55:54 +00:00
Cory LaNou 27cfaa4b7a in memory meta, single node configs, etc. 2016-03-14 16:55:54 +00:00
Joe LeGasse 3f880c6f9c pre-allocate a buffer for HTTP writes 2016-03-14 11:32:50 -04:00
Edd Robinson 45dfa36230 Add default port 2016-03-11 12:40:16 -07:00
Jason Wilder 31a964e890 Move leases to meta.Data 2016-03-11 12:27:08 -07:00
Cory LaNou c972c717b6 remove `client.NodeID` 2016-03-11 12:27:08 -07:00
Ben Johnson b1582ce1c9 add RetentionPolicyInfo marshaling 2016-03-11 12:27:08 -07:00
Vidhuran Harichandra Babu 90b9291953 Removed condition to check if values are returned for queries so that the admin ui displays the same results as cli.
Fixes #4688
2016-03-11 06:29:19 +02:00
gunnaraasen d79fc52cab Handle unknown versions 2016-03-07 18:31:35 -08:00
Todd Persen c7f8402dfe Get client version dynamically 2016-03-07 17:16:38 -08:00
Joe LeGasse 5d3f6e199a Keep connections alive when using Go 1.4.3
Go 1.4.3 was a security release that also created a strange edge-case
that caused connections to not be kept alive and reused when Close()
is called on the Body of the request. Close() hasn't been required on
the Body of a request for some time, so there is no harm is not calling
it anymore.
2016-03-02 13:02:41 -05:00
Jason Wilder cd4ef1856b Use TCPHost when checking for existence of data node
Host is the http endpoint and is not really needed.
2016-03-01 21:23:03 -07:00
Edd Robinson 5eba0ea1b4 Merge pull request #5736 from influxdata/er-shard-owners
Cleanup shards and shard groups when dropping data node
2016-03-01 14:14:27 +00:00
Mark Rushakoff cdcb079769 Tag TSM stats with database, retention policy
... by extracting the db/rp from the given path.

Now that the code has "standardized" on extracting db/rp this way, the
ShardLocation struct is no longer necessary and thus has been removed.
We're back on the previous style of passing the path and walPath to
NewShard.
2016-02-29 09:17:34 -08:00
Mark Rushakoff 40a98e0d55 Add database, RP as tags on shard stats
This commit updates tsdb.Shard to contain a ShardConfig and updates
tsdb.Store to directly reference a map of tsdb.Shard rather than the
previous tsdb.shardLocation abstraction.
2016-02-25 13:41:55 -08:00
Mark Rushakoff e7bb855ab2 Merge pull request #5816 from influxdata/mr-database-stats
Track stats for number of series, measurements
2016-02-25 08:13:04 -08:00
Ben Johnson 0dda9f6608 add remote execution
This commit adds remote execution to the query engine.
2016-02-25 08:41:20 -07:00
Jonathan A. Sternberg 0730573e27 Fix running multiple CQs with the same name
Previously, CQs with the same name would be stored in the last run map
the same way. This caused only one of the CQs to run because after the
first one ran it would update the last run time for all CQs with the
same name.

Add the database name to the CQ ID in the last run map to differentiate
between CQs in different databases.

Fixes #5814.
2016-02-24 12:23:52 -05:00
Edd Robinson 8add49fd96 Ensures meta queries work in clusters.
Fixes #5612, #5573 and #5518.

Using the MetaExecuter, queries that need to run on both data nodes
and optionally the meta store will be executed across all data nodes
in the cluster.
2016-02-24 11:24:45 -05:00
Mark Rushakoff fb83374389 Track stats for number of series, measurements
Per database: track number of series and measurements
Per measurement: track number of series
2016-02-24 08:10:16 -08:00
Edd Robinson 6f1c02fdbe Reconfigure shards and shard groups on node deletion
Fixes #5680.

When dropping a data node, the following will now happen on the
Meta Store.

  1) If any shards no longer have any owners (because the data node
     being dropped is the only owner), they will be reassigned a
     new owner from within their respective shard group.
  2) If a shard group no longer has any shards/data nodes, they will
     be marked as deleted.

When a shard is being assigned a new owner a data node with the fewest
number of shards in the shard group will be selected as the new owner.

Finally, checking the validity of a data node's ID now happens in the
Meta store, rather than in the state machine.
2016-02-23 15:35:43 +00:00
Chris Ramón e52accaf90 adds missing srv.Handler.QueryAuthorizer 2016-02-23 00:02:48 -05:00
Jason Wilder 6f39b355bc Code cleanups 2016-02-22 15:06:05 -07:00
Jason Wilder a2d3d44505 Fix creating meta only nodes
This fixes a couple of issues with starting meta-only nodes.

1. We were always calling CreateDataNode regardless of whether the the
node is running data services.  We only call that now when node is
data enabled.
2. The node.json was created along-side creating the data node. Since
we are not creatinga a data node, this didn't happen anymore.  There
wasn't a simple way to do this in one place so it's actually handle
for when creating a meta or a data node now.  Since the ID assigned
to the node is the same regardless of role this works in all combinations
of roles.
3. The JoinMetaServer didn't return the ID of the joining node which
created some races when multiple nodes were joining.  The join call now
returns that information to the caller.

Fixes #5754
2016-02-22 15:06:05 -07:00
Jason Wilder a437002969 Fix join option in config file
The join option was incorrectly exposed on the meta config.  It should
be at the top-level as a string and propogate down to the meta config
as a slice.
2016-02-22 15:05:46 -07:00
Gunnar c1de263858 Merge pull request #5710 from influxdata/ga-admin
Move admin UI assets to the admin service directory
2016-02-19 15:36:23 -08:00
Edd Robinson 99a7341701 Wire up DROP retention policy to TSDB store.
Fixes #5653 and #5394.

Previously dropping retention policies did not propogate to local TSDB
shards. Instead, the retention policiess would just be removed from the
Meta Store.

This PR adds ensures that data associated with retention policies is
removed, when the retention policy is dropped.

Also, it cleans up a couple of other methods in `tsdb`, including the
requirement to provide (redundant) shardIDs when deleting databases.
2016-02-19 11:15:00 +00:00
Mark Rushakoff b72c684afb Merge pull request #5681 from influxdata/mr-expand-stats
Add more stats for httpd, query executor
2016-02-18 14:11:09 -08:00
Jason Wilder 04ba79407a Add join config option back 2016-02-18 14:45:35 -07:00
Jason Wilder 886a62008e Fix dropping nodes
Dropping a meta node that had already been removed from the config
would fail because the raft.RemovePeers call would return an error
that the address was unknown.  This change skips calling RemovePeer
if it doesn't exist.

Dropping a non-existing ID would hang for 10 seconds becuase the
meta.Client retryUntilExec didn't differentiate before command errors
and redirect errors.  In this case, the command would return an error
but we'd try 10 more times and ultimately give up and return the error.
We now return immediately if the command returned and error because
retrying it will not succeed.

Finally, the join loop had no delay and would immediately try to join
the other nodes hundreds of times a second.  We now pause a second if we've
tried every node at least once.
2016-02-18 14:45:34 -07:00
Jason Wilder dedd6f2e9e Fix hostname/bind addresses
This fixes several issues related to the bind address and hostname:
* Allows bind addresses where a hostname or IP is not specified to
work correct and bind to all interfaces by default.
* Fixes the top-level "hostname" config option to allow overridding
all bind address hostnames.  This allows a node to advertise a different
hostname than what is defined in the bind address setting.
* Adds the -hostname command-line option back to allow specifing
both -join and -hostname as command-line flags.
* Enforces a configuration precedence and overriding ability defined
as config file is overridden by env vars which are overriden by command-line
flags.

Fixes #5670 #5671
2016-02-18 14:45:34 -07:00
Jason Wilder a90114aa4d Use same node ID for meta and data nodes
Fixes #5669
2016-02-18 14:45:34 -07:00
Jason Wilder 04b3914b33 Merge pull request #5743 from influxdata/mr-meta-httpd-headers
Update HTTP headers in meta service's httpd
2016-02-18 13:59:46 -07:00
joelegasse b709f3279b Merge pull request #5542 from influxdata/jl-binary-cleanup
Remove custom binary-conversion functions
2016-02-18 15:57:25 -05:00
Mark Rushakoff c295db0a49 Fix Content-Type headers in meta httpd 2016-02-18 12:34:29 -08:00
Mark Rushakoff 57dd54250f Correctly set X-Influxdb-Version in meta httpd 2016-02-18 12:34:03 -08:00
Mark Rushakoff 8e2d157cef Prefer bool over string yes/no for HH diagnostics 2016-02-18 11:02:14 -08:00
Joe LeGasse dc8ed7953d Remove custom binary-conversion functions
Also cleaned up some excess allocations, and other cruft from the code
2016-02-18 13:56:35 -05:00
bastard a5cbc43afd Merge remote-tracking branch 'upstream/master' into conjoined-field-names-for-graphite-templates 2016-02-18 00:10:11 +00:00
Jason Wilder b4490788a0 Merge pull request #5512 from influxdata/ga-remove-json-write
Remove JSON write path
2016-02-17 16:52:22 -07:00
Mark Rushakoff 759538da2a Add httpd stats for durations, num active requests 2016-02-17 15:38:55 -08:00
Ben Johnson e3b4b71c13 refactor query executor
This commit moves the `QueryExecutor` to the `cluster` package
and provides an interface to it inside the `influxql` package.
2016-02-17 15:13:56 -07:00
Edd Robinson f315444f86 Merge pull request #5255 from titilambert/github4752
Workaround for #4752
2016-02-17 11:00:58 +00:00
gunnaraasen 426bc0aa3e Move admin UI assets to the admin service directory 2016-02-16 17:12:39 -08:00
gunnaraasen a7a8258b3e Add config option to enable JSON write path 2016-02-16 16:29:25 -08:00
Jonathan A. Sternberg 23da067593 Fix meta.Client CreateDatabaseWithRetentionPolicy RPC command
Previously, meta.Client would drop the default retention policy when
trying to create a database with a retention policy. The RPC has now
been modified to include the desired retention policy in the
CreateDatabase command and have it use that retention policy information
instead of the default configuration when provided.

This also lowers the number of RPC calls for
CreateDatabaseWithRetentionPolicy to only a single RPC call instead of
two.

Protections have also been included so creating a retention policy with
different parameters will return an error similar to if you tried to
modify the retention policy separately.

Fixes #5696.
2016-02-16 16:21:26 -05:00
Jason Wilder 8115cdf5bf Merge pull request #5682 from influxdata/mr-separate-diagnostics-package
Move monitor.Diagnostics to its own package
2016-02-16 09:38:15 -07:00
Ross McDonald 6bb1097d6b Merge pull request #5638 from influxdata/ross-http-version-handler
Added test coverage to httpd handler version header
2016-02-16 10:05:41 -06:00
Nicholas Katsaros a727266744 Add graphite and udp services to the default config generator
Fix #4752
2016-02-16 10:12:48 -05:00
Ross McDonald a724c90477 Changed body to io.Reader. 2016-02-16 09:01:09 -06:00
Jason Wilder 6fb00c1a9b Remove MetaServers from node.json
This removes the MetaServers property from node.json to eliminate one
of the four places those addresses are stored on disk.  We always use
the values that come through the config (via file, env var or -join arg).
2016-02-15 22:42:51 -07:00
Chris H (CruftMaster) 53cccd02be Merge remote-tracking branch 'upstream/master' into conjoined-field-names-for-graphite-templates 2016-02-14 22:45:15 +00:00
Chris H (CruftMaster) 7de2c7f233 Switching to mixedCaps 2016-02-14 22:36:02 +00:00
Mark Rushakoff e1af9fe596 Deregister diagnostics client in service.Close
The hinted handoff and graphite services called out
DeregisterDiagnosticsClient in the inlined Monitor interface but never
called it.
2016-02-13 15:04:05 -08:00
Mark Rushakoff 5a61bdad70 Move monitor.Diagnostics to its own package
I was trying to create a Diagnostics Client in the tsdb package, but
IIRC importing `monitor` caused an import cycle of:
tsdb -> monitor -> cluster -> tsdb.

Moving Diagnostics to its own package will allow further use of
diagnostics.Client without running into import cycles.
2016-02-13 14:56:15 -08:00
Jason Wilder b45b2c99d1 Use ClusterTracing config to control meta handler logging
Meta HTTP commands are cluster level requests and were showing up in
the main log creating a lot of noise.  Switch them to use the ClusterTracing
config option which is disabled by default.
2016-02-12 16:40:10 -07:00
Jason Wilder 24dd5ef0ee Fix go vet 2016-02-12 13:55:41 -07:00
Ross McDonald f1a5201e67 Condensed check for version header into one line. 2016-02-12 14:32:07 -06:00
Jason Wilder cd568548fd Fix race in peerStore 2016-02-12 12:06:23 -07:00
Cory LaNou 7ad31fa6ab address pr feedback 2016-02-12 11:35:20 -07:00
Jason Wilder ddcfac7e8e Remove peers.json
No longer needed now that peers are pull from the meta nodes.
2016-02-12 11:35:20 -07:00
Cory LaNou 1b25c0cb80 ask for a free port immediatly before using to prevent it being returned to the available pool 2016-02-12 11:35:19 -07:00
Cory LaNou 52077b2dfc fix race condition 2016-02-12 11:35:19 -07:00
Cory LaNou e9a2c33556 give less time to lose lease on random port for test 2016-02-12 11:35:19 -07:00
Cory LaNou df5d587105 make meta test suite less racy 2016-02-12 11:35:19 -07:00
Cory LaNou 360f40561e misc fixes and changelog 2016-02-12 11:35:19 -07:00
Cory LaNou 92e8516660 specify raft bind address with real random ports 2016-02-12 11:35:19 -07:00
Cory LaNou 7e62201793 specify bind address meta test 2016-02-12 11:35:19 -07:00
Cory LaNou b17293f75c fix data race 2016-02-12 11:35:19 -07:00
Cory LaNou f861d5811e fix adhoc joining of cluster 2016-02-12 11:35:19 -07:00
Cory LaNou 807354f195 passing test suite... hopefully 2016-02-12 11:32:53 -07:00
Cory LaNou d9f1df0ecf sane cluster starting with join args 2016-02-12 11:32:53 -07:00
Jason Wilder e1effa6601 fix build after rebase on master 2016-02-12 11:32:53 -07:00
Joe LeGasse 1852814612 Update authentication cache to work for clusters
Also removed unused code and duplicated test code
2016-02-12 07:16:57 -05:00
Ross McDonald e38b3e799c Added test to http handler for checking the version header information. 2016-02-11 13:09:39 -06:00
Todd Persen cb1b1859fe Fix conflicts and split out client/server version. 2016-02-10 22:30:19 -08:00
Edd Robinson 7ff67db776 Merge pull request #5613 from influxdata/er-cq-typo
Tidy up README
2016-02-10 23:38:48 +00:00
Ben Johnson d9a6a7340f add canonical paths 2016-02-10 11:30:52 -07:00
Ben Johnson 5a0d1ab7c1 rename influxdb/influxdb to influxdata/influxdb
This commit changes all the import and URL references from:

    github.com/influxdb/influxdb

to:

    github.com/influxdata/influxdb
2016-02-10 10:26:18 -07:00
Chris H (CruftMaster) b3fd0ef737 Rebase to new changes in master 2016-02-10 17:07:34 +00:00
Chris H (CruftMaster) abe29bfaf1 Warning in readme.md 2016-02-10 16:51:05 +00:00
Ben Johnson 5c33b9d786 remove Mapper test references 2016-02-10 09:40:30 -07:00
Ben Johnson 627cd9d486 add dedupe iterator 2016-02-10 09:40:29 -07:00
Ben Johnson 607750ab1b add SHOW MEASUREMENTS iterator 2016-02-10 09:40:28 -07:00
Ben Johnson 00806de9b8 refactor query engine 2016-02-10 09:40:25 -07:00
Ben Johnson cde973f409 refactor query engine 2016-02-10 09:40:24 -07:00
Chris H (CruftMaster) cbc9bb5718 Stop people from using both measurement* and field* in a template (plus tests) 2016-02-10 15:29:09 +00:00