Commit Graph

10768 Commits (3c124036f0aea8e7f7b4dde76bdda5052bc58333)

Author SHA1 Message Date
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
Jason Wilder 19546faab3 Release cursor/iterator resources aggressively 2016-08-03 00:21:39 -06:00
Jason Wilder e8e6bc44a7 Remove defers in TSM reader read path 2016-08-02 16:39:45 -06:00
Jonathan A. Sternberg c65693a34b Merge pull request #7032 from influxdata/js-fix-influx-stress-concurrent-write-panic
Copy tags in influx_stress to avoid a concurrent write panic on a map
2016-08-01 13:39:59 -05:00
Jonathan A. Sternberg ccd1bd91f4 Copy tags in influx_stress to avoid a concurrent write panic on a map
Removing lock from the same object as that object never does anything
except for having attributes read.
2016-08-01 13:18:21 -05:00
Jonathan A. Sternberg 155ef811ad Merge pull request #6547 from influxdata/js-6543-parse-fill-bad-query
Fix parseFill to check for fill ident before attempting to parse an expression
2016-08-01 11:52:01 -05:00
Jonathan A. Sternberg 2c739c0532 Fix parseFill to check for fill ident before attempting to parse an expression
The previous parseFill would try to parse an expression and only unscan
one token when it failed. This caused it to not put back the correct
number of tokens with some expression.

Now it has been modified to check for the fill ident ahead of time and
then use ParseExpr() to parse the call. If the expression fails to parse
into a call, it will send an error instead of trying to continue with an
invalid parser state.

Fixes #6543.
2016-08-01 11:38:44 -05:00
David Norton 0c4559722c feat #6679: add series limit config setting 2016-08-01 08:28:46 -04:00
Jonathan A. Sternberg cac6765364 Merge pull request #7098 from influxdata/js-use-proper-header-for-content-type
Use the Accept header for determining the Content-Type instead of Content-Type
2016-07-29 15:00:13 -05:00
Jonathan A. Sternberg 73bbbf24b1 Use the Accept header for determining the Content-Type instead of Content-Type
The `Content-Type` header is meant to say what the content type of the
request is supposed to be and `Accept` is used to ask for a specific
content type. I messed this up and used `Content-Type` instead of
`Accept`. This works with `GET` requests accidentally, but `POST`
requests stop working.
2016-07-29 14:29:39 -05:00
Jonathan A. Sternberg 4a89ab4482 Merge pull request #6815 from influxdata/js-content-type-response-writer
Setup an interface for writing http responses based on the Content-Type header
2016-07-29 13:28:37 -05:00
Jonathan A. Sternberg d85072ada9 Setup an interface for writing http responses based on the Content-Type header
Only `application/json` is supported right now, but this opens up the
easier possibility of additional content types to be returned from the
server.
2016-07-29 13:11:51 -05:00
Cory LaNou ac0228614d Merge pull request #7077 from influxdata/cjl-7065-remove-exists
Remove IF EXISTS/IF NOT EXISTS from influxql language
2016-07-29 13:06:54 -05:00
Cory LaNou 1117526873 remove IF EXISTS/IF NOT EXISTS from influxql language 2016-07-29 12:58:05 -05:00
Jason Wilder 37674d2c4a Merge pull request #7084 from influxdata/jw-tombstones
Tombstone memory improvements
2016-07-28 20:45:35 -06:00
Jason Wilder 5576e7fedb Simplifications 2016-07-28 20:25:37 -06:00
Jason Wilder c1840be88d Update changelog 2016-07-28 20:25:37 -06:00
Jason Wilder 8367771d35 Fix go vet 2016-07-28 20:25:37 -06:00
Jason Wilder 030f1ef622 Include full for tombstone files
The path info only contained the file name which caused tombstone
files to not be removed if there were queries running against
a file that was compacted.

This is now consistent with the TSMReader.Path which returns the
full path info.
2016-07-28 20:25:37 -06:00
Jason Wilder c3fda24cf9 Make sure all in-use files are tracked
break cause the first one to be tracked and all others would
leak as temp files that would not be removed until the server
restarted.
2016-07-28 20:25:37 -06:00
Jason Wilder c1a94e8861 Remove temp TSM files when disabling compactions
If they were left around, re-enabling them again could cause
future compactions to continuously fail.  A restart of the
server would clean them up correctly though.
2016-07-28 20:25:37 -06:00
Jason Wilder 602a2e80ce Ensure aux and cond cursors are closed when iterator is closed 2016-07-28 20:25:37 -06:00
Jason Wilder 0b60862248 Close drained iterators
Aux and condition iterators where not closed which could
cause TSM files to leak if they were queried against while
a compaction was running.
2016-07-28 20:25:37 -06:00
Jason Wilder 5764a730d5 Prevent tombstoning series keys more than once
If there were multiple TSM files and a delete/drop was run,
we would write the delete series to the tombstone file N
times for each file.  This occurred because FileStore.WalkKeys walks
every key in every TSM file which can return duplicate keys.

This issue caused TSM files to be much larger than they should be
and also cause large memory usage during the delete.
2016-07-28 20:25:36 -06:00
Jason Wilder ef8ecf0e90 Apply reload tombstones in batches
This keeps some memory bounds when reloading a TSM files tombstones
so that the heap does not grow exceedintly fast and stay there
after the deletes are applied.
2016-07-28 20:25:36 -06:00
Jason Wilder 4436e65fb9 Apply deletes to TSM files concurrently 2016-07-28 20:25:36 -06:00
Jason Wilder a8c69e222a Use scanner for reading v1 tombstones
Use a bufio.Scanner to read v1 tombstones instead of reading in
the whole file and parsing it from memory.
2016-07-28 20:25:36 -06:00
Jason Wilder 7b8959f6f2 Apply tombstones iteratively at startup
Tombstone were read fully into memory at startup which could consume
a lot of RAM and OOM the process if there were a lot of deleted
series and many TSM files.

This now walks the tombstone file and iteratively applies the tombstone
which uses significantly less RAM.  This may be slightly slower in the
generate cause, but should scale better.
2016-07-28 20:25:36 -06:00
Jason Wilder 644693ad4f Merge pull request #7086 from influxdata/jw-6990
Fix panic with parsing empty key
2016-07-28 19:29:32 -06:00
Jason Wilder d432aaa84d Fix panic with parsing empty key
Fixes #6990
2016-07-28 18:38:17 -06:00
Cory LaNou ae4a1a4d00 Merge pull request #7049 from influxdata/cjl-influx-inspect-doc-update
Update influx inspect readme with DDL information
2016-07-28 18:19:12 -05:00
Jonathan A. Sternberg 94e07158d5 Merge pull request #7009 from influxdata/js-5750-wildcard-support-for-aggregates
Support wildcards in aggregate functions
2016-07-28 18:13:59 -05:00
Jonathan A. Sternberg 86364a85b4 Merge pull request #7090 from influxdata/js-show-measurements-and-tag-values-refactor
Switch SHOW MEASUREMENTS and SHOW TAG VALUES to directly access the tsdb.Store
2016-07-28 18:04:13 -05:00