Commit Graph

368 Commits (9af362bff55b2d66c6de9cc55e590ca2f014bdb5)

Author SHA1 Message Date
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
Philip O'Toole 501b4ceedb Don't panic if presented with a field of unknown type
This can happen, though is very unlikely. If this node receives encoded
data, to be written to disk, and is queried for that data before its
metastore is updated, there will be no field mapping for the data during
decode. All this can happen because data is encoded by the node that first
received the write request, not the node that actually writes the data to
disk. So if this happens, skip the data.
2015-04-04 10:33:56 -07:00
Jari Sukanen 704691454d server: rename influxdb.Results type to influxdb.Response (issue: #2050)
Rename influxdb.Results to influxdb.Response as it already has Results
property itself. Renaming it to Response makes code look much less
ugly.
2015-04-04 12:17:33 +03:00
Jason Wilder 6d4c7e9cd5 Handle broker and data node endpoints regardless of role
This is a pre-requisite for #1934.  When running separate
broker and data nodes, you currently need to know what role
a host is performing.  This complicates cluster setup in
that you must configure separate broker URLs and data node
URLs.

This change allows a broker only node to redirect data nodes endpoints
to a valid data node and a data only node to redirect broker
endpoints to a valid broker.
2015-04-03 21:00:43 -06:00
Philip O'Toole 8661155a7d Fix bad merge with master 2015-04-02 15:22:27 -07:00
Paul Dix 6c46a5c83b 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-02 15:22:27 -07:00
Paul Dix b13385f9ab Fix error after rebase 2015-04-02 15:22:27 -07:00
Paul Dix 332c42750b Update server and handler to work with streamed responses 2015-04-02 15:22:27 -07:00
Jason Wilder 91fb7e3756 Track data node urls on brokers
This sends data node urls via the broker heartbeat from each data
node.  The urls are tracked on the broker to support simpler
cluster setup as well as distributed queries.
2015-04-02 11:27:53 -06:00
Julius Volz 690f6f16c0 Fix all "golint" warnings in top-level package.
This fixes all "golint" warnings in the top-level "influxdb" package:

    database.go:316:2: can probably use "var tagStrings []string" instead
    database.go:1077:6: exported type RetentionPolicies should have comment or be unexported
    server.go:337:1: exported method Server.StartSelfMonitoring should have comment or be unexported
    server.go:345:3: can probably use "var points []Point" instead
    server.go:433:2: can probably use "var groups []group" instead
    server.go:498:2: can probably use "var groups []group" instead
    server.go:1417:1: comment on exported method Server.CreateRetentionPolicyIfNotExists should be of the form "CreateRetentionPolicyIfNotExists ..."
    server.go:1899:1: exported method Server.DropMeasurement should have comment or be unexported
    server.go:2153:10: if block ends with a return statement, so drop this else and outdent its block
    server.go:2695:2: can probably use "var rows []*influxql.Row" instead
    server.go:2876:11: if block ends with a return statement, so drop this else and outdent its block
    server.go:3804:1: exported method Server.StartReportingLoop should have comment or be unexported
    tx.go:133:4: can probably use "var mappers []influxql.Mapper" instead
    tx.go:231:1: exported method LocalMapper.Open should have comment or be unexported
    tx.go:254:1: exported method LocalMapper.Close should have comment or be unexported
    tx.go:348:1: exported method LocalMapper.Next should have comment or be unexported
2015-03-31 02:22:45 +02:00
Philip O'Toole a0e9daee63 SHOW DATABASES returns series name "databases" 2015-03-27 16:24:57 -07:00
Philip O'Toole 502ee0764f Saner names for diags and stats, and use tags 2015-03-26 16:27:13 -07:00
Philip O'Toole 70836bc87d Write stats and diags to different measurements
Also, some fixes to casts. This may need further work.
2015-03-26 16:27:13 -07:00
Philip O'Toole 4d8166c3b7 Write server diagnostics into database
This allows historical monitoring of all diagnostics. Of particular
interest will be GC performance, memory usage, number of shards and
shard groups on the cluster, index points, amongst other important data.
2015-03-26 16:27:13 -07:00
Philip O'Toole 4c7c87a7bb Refactor common diags into types
This will make it easier to use these common diagnostics function in
other components, like the Broker, as well as minimizing growth of the
server type, in terms of SLOC.

This new diags code can be converted to InfluxQL rows, for easy display
and re-writes back to the database for self-monitoring.
2015-03-26 16:27:13 -07:00
Philip O'Toole 0bcec78527 Merge pull request #2076 from influxdb/fix_up_logging
Fix up logging
2015-03-25 21:34:26 -07:00
Philip O'Toole 1660cb349e Merge pull request #2079 from influxdb/rename_report_server
Rename reporting function since it's not stats
2015-03-25 19:41:20 -07:00
Philip O'Toole 5e01e83e47 Rename reporting function since it's not stats 2015-03-25 19:39:27 -07:00
Philip O'Toole da25c94484 Move small utility function closer to its use 2015-03-25 19:35:27 -07:00
Philip O'Toole c461c7e7b4 Remove logging to specific file 2015-03-25 17:41:39 -07:00
Todd Persen 94a8019fc7 Wire up DROP CONTINUOUS QUERY 2015-03-25 11:58:33 -07:00
Ben Johnson 21782c0a67 Merge branch 'master' of https://github.com/influxdb/influxdb into backup-restore 2015-03-24 16:05:49 -06:00
Philip O'Toole bfad9a194d Merge pull request #2061 from influxdb/show_diags_command
SHOW DIAGNOSTICS command
2015-03-24 12:25:56 -07:00
Philip O'Toole 895b781e72 Creates "values" correctly for various diags 2015-03-24 09:27:54 -07:00
Philip O'Toole f6644d4de8 Add "shard groups" and "shards" to diags 2015-03-23 23:46:20 -07:00
Philip O'Toole e79d063f4f Count number of open shards 2015-03-23 23:45:57 -07:00
Philip O'Toole 1c440f8542 Implement "SHOW DIAGNOSTICS" 2015-03-23 23:45:57 -07:00
Philip O'Toole fba41df82b Push version and commit hash onto Server 2015-03-23 23:45:57 -07:00
Philip O'Toole a8f0dbcf1d Load shards on restart
Fix for #2012
2015-03-23 18:34:46 -07:00
Philip O'Toole 0a76c2bdfc Clear server maps on close
These maps are reloaded from the metastore on open.
2015-03-23 18:27:36 -07:00
Philip O'Toole 51e98b85ef Support sorting of retention policies
Sort them by name.
2015-03-23 17:27:15 -07:00
Philip O'Toole c239914249 Track number of queries received and executed 2015-03-23 16:48:25 -07:00
Philip O'Toole ab4e7b3047 Tighten up tag and ID choice for internal stats 2015-03-23 16:48:22 -07:00
Ben Johnson 3befa12fa3 Merge branch 'master' of https://github.com/influxdb/influxdb into backup-restore
Conflicts:
	cmd/influxd/main.go
	cmd/influxd/run.go
2015-03-22 15:38:41 -06:00
Ben Johnson 11c808f55f Add restore and bootstrap.
This commit adds the "influxd restore" command to the CLI. This allows
a snapshot that has been produced by "influxd backup" to be restored
to a config location and the broker and raft directories will be
bootstrapped based on the state of the snapshot.
2015-03-22 15:31:49 -06:00
Ben Johnson 0461f401f6 Add SnapshotWriter. 2015-03-19 22:23:52 -06:00
Philip O'Toole 05fb2842ba Use _id for Series IDs
Fix issue #2008
2015-03-19 19:04:07 -07:00
Philip O'Toole 62dc60d36d Merge pull request #2004 from influxdb/limit-group-by
Limit group by to MaxGroupByPoints (currently 100,000)
2015-03-19 16:45:24 -07:00
Philip O'Toole dc297e8012 Correctly use IsRawQuery 2015-03-19 16:32:25 -07:00
Philip O'Toole b045a0008e Remove redundant Aggregated() on select statement 2015-03-19 15:22:43 -07:00
Simon Kern 787d521ca5 removed unnecessary fmt.Sprintf 2015-03-19 22:17:15 +01:00
Cory LaNou c13bdd5e86 refactor, bug fix, move tests to integration 2015-03-19 14:33:47 -06:00
Cory LaNou e78e5f3e19 Limit group by to MaxGroupByPoints (currently 100,000) 2015-03-18 18:44:30 -06:00
Philip O'Toole 43a5747e6e Track shard-level stats 2015-03-18 15:26:49 -07:00
Philip O'Toole 61b5c4ee3c Set a timestamp when storing monitoring stats 2015-03-18 12:42:33 -07:00
David Norton 62ae32b0ce wire up regex in FROM clause 2015-03-16 19:40:59 -04:00
David Norton fd005a5f15 influxql: allow regex in FROM clause 2015-03-16 19:40:21 -04:00
Philip O'Toole 69530b7e8f Use a time.Ticker object for precise self-monitoring 2015-03-15 14:32:47 -07:00
Philip O'Toole eec2cf6bf6 Use a better ID for the server ID in stats 2015-03-15 14:32:46 -07:00
Philip O'Toole 50d2470041 Write totals, not diff, of internal stats 2015-03-15 14:32:46 -07:00