Commit Graph

10800 Commits (9b28f7704f338341242d0d999df5548fe8f53c84)

Author SHA1 Message Date
Jonathan A. Sternberg 9b28f7704f Merge pull request #7171 from influxdata/js-1.0-merge-response-formatter-bugfix
Merge branch '1.0'
2016-08-17 19:13:09 -05:00
Ben Johnson 65536676a4 Merge pull request #7138 from benbjohnson/optimize-shard-open
Reduce memory allocations in index
2016-08-17 15:27:33 -06:00
Jonathan A. Sternberg 5e468fac0b Merge branch '1.0' into master 2016-08-17 13:27:02 -05:00
Jonathan A. Sternberg 58afeb0b71 Merge pull request #7163 from influxdata/js-close-notify-fix
Remove redundant code the from response formatter and fix CloseNotify
2016-08-17 12:28:44 -05:00
Jonathan A. Sternberg d2746ee8f2 The number of bytes recorded when using chunking was off by one
Previously, we implicitly added a newline and had to add one to the
number of bytes transmitted because we added that byte. That was removed
at some point and the metric was not updated to record the correct
value.
2016-08-17 11:54:19 -05:00
Jack Zampolin 6d7497f5e7 Merge pull request #7170 from influxdata/jz-tabs-to-spaces
Fixes issue #7141
2016-08-17 12:05:23 -04:00
Jack Zampolin 3a179982a6 Fixes issue #7141 2016-08-17 11:10:06 -04:00
Jonathan A. Sternberg 71b54768d0 Remove redundant code the from response formatter and fix CloseNotify
The query killing functionality depends on the ResponseWriter exposing a
CloseNotify method. Since we wrap the http.ResponseWriter, the new
struct does not have that method and the HTTP handler would skip past
calling that method.

Instead of duplicating `Flush()` and `CloseNotify()` for every response
formatter, we will unify all of that under a single struct and create
formatters instead.

Also, fixes a bug where the header information from a query would not be
returned until some other data was returned with it because of
buffering and another bug in the gzipResponseWriter that wouldn't flush
the actual underlying ResponseWriter.
2016-08-16 15:54:03 -05:00
Ben Johnson 8aa224b22d
reduce memory allocations in index
This commit changes the index to point to index data in the shards
instead of keeping it in-memory on the heap.
2016-08-16 14:09:00 -06:00
Jonathan A. Sternberg a0004b6857 Merge pull request #7153 from influxdata/js-7152-delete-series-causes-incorrect-measurement-statistic
Decrement number of measurements only once when deleting the last series from a measurement
2016-08-15 14:21:35 -05:00
Jonathan A. Sternberg b84dbfd910 Merge pull request #7147 from influxdata/js-2124-prohibit-writes-with-precision-todo
Add issue #2124 to the TODO list for v2
2016-08-15 14:20:37 -05:00
Jonathan A. Sternberg 6b5b24a3e3 Decrement number of measurements only once when deleting the last series from a measurement 2016-08-15 13:57:08 -05:00
Edd Robinson 35f2fdafcb Merge pull request #7136 from influxdata/er-jwt-dep
Update jwt-go to v3
2016-08-12 17:44:55 +01:00
Edd Robinson cebeda817c Update jwt-go to v3 2016-08-12 17:35:57 +01:00
Jonathan A. Sternberg 9757efdc87 Add issue #2124 to the TODO list for v2
It would be a breaking change to v1, but it is something we likely want
to consider when we are working on v2.
2016-08-12 10:36:59 -05:00
Jonathan A. Sternberg 87f7c66b8a Merge pull request #7119 from influxdata/js-create-database-use-defaults
Use defaults from `meta` package for `CREATE DATABASE`
2016-08-11 10:34:22 -05:00
Jonathan A. Sternberg 135d9eceb7 Merge pull request #7010 from influxdata/js-6992-batch-queries
Support tools for running async queries
2016-08-10 15:46:30 -05:00
Jonathan A. Sternberg 0efed4f6cf Update changelog 2016-08-10 15:36:15 -05:00
Jonathan A. Sternberg 32d10de94f Check in between query statements to see if the query was interrupted
This allows a long series of uninterruptible statements to still be
interrupted for a long running query that might do something like create
or drop many databases.
2016-08-10 15:36:02 -05:00
Jonathan A. Sternberg f58a50c231 Allow queries to be uploaded as a file rather than forcing a text parameter
The query can be uploaded from a file using `multipart/form-data` and
setting the file name to `q`. An example of using curl to execute an
async query would be:

    curl -F "q=@database.iql" -F "async=true" http://localhost:8086/query
2016-08-10 15:34:04 -05:00
Jonathan A. Sternberg 760767b033 Support running a command in async mode
It will return a 204 No Content as long as the query is accepted
(immediate errors will be returned, but not individual errors with
specific queries). The only way to kill the query is by using the task
manager.
2016-08-10 15:34:04 -05:00
Jonathan A. Sternberg ad50888a14 Merge pull request #7099 from influxdata/js-csv-writer
Implement text/csv content encoding for the response writer
2016-08-10 15:33:25 -05:00
Jonathan A. Sternberg a4e49963f5 Implement text/csv content encoding for the response writer
CSV doesn't offer a way to separate different sheets from each other and
it doesn't really have a standard format. We separate sheets with a
newline so they can be imported into something like Excel or LibreOffice
more easily.

The number of columns for each sheet is inferred from the first returned
row in each statement since they should all be the same.
2016-08-10 15:15:33 -05:00
Jonathan A. Sternberg 7d8fc000e0 Merge pull request #6597 from influxdata/js-3634-allow-mixed-duration-units
Support mixed duration units
2016-08-10 14:45:33 -05:00
Jonathan A. Sternberg ab049d7f0a Support mixed duration units
It is now possible to use a mixed duration unit like `1h30m`. The
duration units can be in whatever order as long as they are connected to
each other.

There is a change to the scanner. A token such as `10x` will be scanned
as a duration literal, but will then fail to parse as an invalid
duration. This should not be a breaking change as there is no situation
where `10m10` was a valid order of tokens for the parser.

Fixes #3634.
2016-08-10 13:34:19 -05:00
Jonathan A. Sternberg 870cea0981 Merge pull request #7135 from oiooj/unixsocket-feature
enable HTTP service over unix domain socket
2016-08-10 13:33:30 -05:00
kun 6945655be2 add support for unix socket binding service 2016-08-11 02:20:54 +08:00
Jonathan A. Sternberg e8104e2d81 Merge pull request #7131 from influxdata/js-7120-additional-statistics-for-query-executor
Add additional statistics to query executor
2016-08-10 11:58:17 -05:00
Jonathan A. Sternberg 3959656968 Add additional statistics to query executor
The query executor would only store the number of active queries and the
query duration so it was impossible to determine how many queries were
actually executed during that timeframe because quick queries would be
gone before the call to gather statistics was made.

This adds two new statistics so track when queries start and when
queries finish and doesn't decrement the counter so the number of
executed queries can be obtained using `derivative()` and
`difference()`.
2016-08-10 11:35:06 -05:00
Jonathan A. Sternberg c60fa73ea3 Merge pull request #7132 from influxdata/js-1834-disallow-time-tag-and-field
Drop time when used as a tag or field key
2016-08-10 11:33:58 -05:00
Jonathan A. Sternberg 9621bee195 Drop time when used as a tag or field key
The "time" field and tags are unqueryable so we prevent those from being
written so we don't have unreadable data.
2016-08-10 10:02:01 -05:00
Jonathan A. Sternberg 530b00bd76 Use defaults from `meta` package for `CREATE DATABASE`
Instead of having the parser set the defaults, the command will set the
defaults so that the constants for that are actually used. This way we
can also identify which things the user provided and which ones we are
filling with default values.

This allows the meta client to be able to make smarter decisions when
determining if the user requested a conflict or if the requested
capabilities match with what is currently available. If you just say
`CREATE DATABASE WITH NAME myrp`, the user doesn't really care what the
duration of the retention policy is and just wants to use the default.
Now, we can use that information to determine if an existing retention
policy would conflict with what the user requested rather than returning
an error if a default value ever gets changed since the meta client
command can communicate intent more easily.
2016-08-09 12:00:06 -05:00
Ben Johnson 3c124036f0 Merge pull request #7127 from benbjohnson/fix-series-limit
Concurrent series limit
2016-08-09 08:58:19 -06:00
Ben Johnson 55b3e63ced
concurrent series limit
This commit fixes the `MaxSelectSeriesN` limit which was broken by
the implementation of lazy iterators. The setting previously limited
the total number of series but the new implementation limits the
concurrent number of series being processed.
2016-08-09 08:58:01 -06:00
Jason Wilder aa78a2fae2 Merge pull request #7126 from influxdata/jw-7121
Remove compaction assert that should not be there
2016-08-08 10:53:21 -06:00
Mark Rushakoff ffb022cfc3 Merge pull request #7125 from influxdata/mr-export-gzip-close
Ensure gzip writer is closed in influx_inspect export
2016-08-08 09:30:49 -07:00
Jason Wilder 0ea645642b Remove compaction assert that should not be there
This assert was not removed when the issue that cause the assert
to trigger was fixed in 0f5e994.

Fixes #7121
2016-08-08 09:59:45 -06:00
Mark Rushakoff 7787703ca8 Ensure gzip writer closed in influx_inspect export
Previously, the gzip writer may have had unflushed data when the
underlying writer was closed, and the output stream would have been
truncated early.
2016-08-08 08:52:22 -07:00
Jonathan A. Sternberg b98763a3d8 Merge pull request #7118 from influxdata/js-go-generate
go generate on every package to ensure they are generated with the correct dependency
2016-08-08 09:02:32 -05:00
David Norton 064db3c5b3 Merge pull request #7095 from influxdata/dgn-cardinality-limits
feat #6679: add series limit config setting
2016-08-05 16:34:25 -04:00
Jonathan A. Sternberg c6034c162a Merge pull request #7028 from influxdata/js-7025-group-by-offset-in-cq
Move the CQ interval by the group by offset
2016-08-05 15:07:52 -05:00
David Norton 43809b0799 update CHANGELOG.md 2016-08-05 15:54:34 -04:00
Jonathan A. Sternberg 4cdfc3280d Move the CQ interval by the group by offset
This will make the period selected by the CQ system work correctly for a
query with an offset.
2016-08-05 14:39:52 -05:00
Jonathan A. Sternberg 0879d43b74 Do not run continuous queries that have no time span 2016-08-05 14:39:52 -05:00
Jonathan A. Sternberg ed2f81357f go generate on every package to ensure they are generated with the correct dependency 2016-08-05 14:35:07 -05:00
Ben Johnson 22e1a55f97 Merge pull request #7107 from benbjohnson/concurrent-shard-limiter
Limit shard concurrency
2016-08-05 12:49:20 -06:00
Ben Johnson 6c7d56d4bc
limit shard concurrency
This commit limits queries to only process one shard at a time.
However, within a shard, multiple series can still be processed in
parallel. Shard iterators are lazily instantiated during query
execution to limit the amount of memory a given query uses.
2016-08-05 09:45:57 -06:00
Jonathan A. Sternberg a62fbcde42 Merge pull request #7113 from agaurav/Test/medianBenchmarks
benchmark tests for median aggrergator
2016-08-04 09:53:42 -05:00
Ashish Gaurav 70c8c021ac added benchmark tests for median aggrergator (Package: influxql,influxql_test) 2016-08-04 08:02:19 +05:30
Jason Wilder a00fe4adee Merge pull request #7108 from influxdata/jw-defers
Query path GC
2016-08-03 15:46:59 -06:00