Commit Graph

12021 Commits (57eeae03fc5419c1249a4a4b890f2e9c9cb9a501)

Author SHA1 Message Date
Jason Wilder 920c8396c6 Use sorted merge in FileStore.WalkKeys
WalkKeys serially walked each TSM file and invoked fn for each key.
Caller needed to handle duplicate calls to fn with the same key
because the same key could exist in multiple TSM files.  The serial
execution was also slower.

Since the series keys are already sorted, we can iterate over all
files in parallel and skip duplicates using a sorted merge.  This
fixes the duplicate invocation issue as well as speeds up walking
all keys.

This can significant improve startup performance when many TSM files
exists that may not have been fully compacted.  This also has benefits
for deletes (measurements/series) since duplicates are removed saving
extra allocations and work.  This may also allow for the optimize
compaction to be removed provided startup times are fast enough.
2017-04-03 08:57:52 -06:00
Edd Robinson 57b8993e7b Reduce cost of admin user check
This commits adds a caching mechanism to the Data object, such that
when large numbers of users exist in the system, the cost of determining
if there is at least one admin user will be low.

To ensure that previously marshalled Data objects contain the correct
cached admin user value, we exhaustively determine if there is an admin
user present whenever we unmarshal a Data object.
2017-04-03 12:06:44 +01:00
Karl b22783f127 Update CHANGELOG 2017-04-02 18:33:09 -04:00
Karl 10b7f86368 Make services/subscriber golintable 2017-04-03 18:32:36 -04:00
Karl 08b3dbcbc7 Make services/udp golintable 2017-04-03 18:32:36 -04:00
Karl 616224695a Make services/httpd golintable 2017-04-03 18:32:36 -04:00
Karl 4171d6a843 Make services/admin golintable 2017-04-03 18:32:36 -04:00
Jonathan A. Sternberg 15e594fc09 Merge pull request #8163 from Tomcat-Engineering/influxql-bitwise-operators
Influxql bitwise operators
2017-03-31 16:09:02 -05:00
Tom Young d2fd3f50aa Add bitwise AND, OR and XOR operators to InfluxQL. 2017-03-31 21:02:02 +01:00
Jonathan A. Sternberg 211e7ea65d Merge pull request #8234 from influxdata/js-8230-fix-window-computation-overflow
Prevent overflowing or underflowing during window computation
2017-03-31 11:09:30 -05:00
Jonathan A. Sternberg 9052824be9 Merge pull request #8235 from zhexuany/non_negative_difference
introduce a new function non_negative_difference
2017-03-31 10:29:11 -05:00
zhexuany 232fdae6dd introduce a new function non_negative_difference 2017-03-31 23:08:36 +08:00
Jonathan A. Sternberg a221e32291 Merge pull request #8194 from influxdata/js-integral-function
Add "integral" function to InfluxQL
2017-03-30 18:24:46 -05:00
Jonathan A. Sternberg 64fb1db5f5 Prevent overflowing or underflowing during window computation
The Window function will now check before it adjusts the offset whether
it is going to overflow or underflow. If it is going to do either, it
sets the start or end time to MinTime or MaxTime.
2017-03-30 16:35:22 -05:00
timhallinflux e50ad6615d Update CHANGELOG.md 2017-03-30 12:46:53 -07:00
timhallinflux 9f88e63ccf Changelog addition for #8231 2017-03-30 12:44:59 -07:00
timhallinflux 7369979dd5 Fix spelling mistake in HTTP section -- shared-sercret
Fixed to shared-secret
2017-03-30 12:42:20 -07:00
Jonathan A. Sternberg 2ea805c928 Interpolate between different intervals to find the whole area under the curve 2017-03-30 12:51:52 -05:00
Tom Young cac94a1fc7 Add "integral" function to InfluxQL 2017-03-30 12:07:26 -05:00
Edd Robinson 089e2fa624 Merge pull request #8228 from influxdata/er-tsi
Ensure shared index removed when dropping database
2017-03-30 15:02:19 +01:00
Edd Robinson 5e342a2ddd Ensure shared index removed on database drop
When using the inmem index, if one drops a database, and then creates it
again, the previous index object will be reused. This includes the
previous cardinality estimation sketches, leading to inaccurate
cardinality estimations.
2017-03-30 13:05:31 +01:00
Edd Robinson ddf7f0fd7b Remove uncalled method 2017-03-30 12:48:22 +01:00
Edd Robinson 739717f289 Merge pull request #8225 from influxdata/er-tsi
Merge master into tsi branch
2017-03-30 11:18:26 +01:00
Edd Robinson fddaff2cc8 Merge master in 2017-03-29 18:00:28 +01:00
Edd Robinson 2062a425fd Merge pull request #8224 from influxdata/er-tsi
Use variable length encoding of tag count
2017-03-29 17:04:59 +01:00
Edd Robinson 116230b427 Use varint for tag count 2017-03-29 16:31:13 +01:00
Edd Robinson 374b04ada0 Merge pull request #8178 from influxdata/er-test-race
Fix race in test helpers
2017-03-29 12:56:41 +01:00
Edd Robinson 7644ab1fc4 Fix race in test helpers. Fixes #8177 2017-03-29 12:31:04 +01:00
Edd Robinson be9a9f100e Merge pull request #8179 from influxdata/er-speedup-shutdown
Speedup shutdown for high cardinality databases
2017-03-29 12:30:08 +01:00
Edd Robinson 45f843fc91 Don't unassign shards when system shutting down 2017-03-29 11:57:38 +01:00
Jonathan A. Sternberg 2d4e2f49b6 Merge pull request #8214 from influxdata/js-8175-out-of-order-derivative
Ensure the input for certain functions in the query engine are ordered
2017-03-28 16:49:11 -05:00
Jonathan A. Sternberg 7e0ed1f5e5 Ensure the input for certain functions in the query engine are ordered
The following functions require ordered input but were not guaranteed to
received ordered input:

* `distinct()`
* `sample()`
* `holt_winters()`
* `holt_winters_with_fit()`
* `derivative()`
* `non_negative_derivative()`
* `difference()`
* `moving_average()`
* `elapsed()`
* `cumulative_sum()`
* `top()`
* `bottom()`

These function calls have now been modified to request that their input
be ordered by the query engine. This will prevent the improper output
that could have been caused by multiple series being merged together or
multiple shards being merged together potentially incorrectly when no
time grouping was specified.

Two additional functions were already correct to begin with (so there
are no bugs with these two, but I'm including their names for
completeness).

* `median()`
* `percentile()`
2017-03-28 13:55:37 -05:00
Jonathan A. Sternberg 24109468c3 Merge pull request #8168 from influxdata/js-8167-math-with-multiple-selectors
Fix a regression when math was used with selectors
2017-03-28 13:31:57 -05:00
Cory LaNou 9f674ccec4
suppress headers in output for influx when they are the same 2017-03-28 12:50:23 -05:00
Cory LaNou 80948223f4 add chunked/chunksize as setting/options 2017-03-28 12:48:21 -05:00
Jonathan A. Sternberg 3e52ec7ca2 Merge pull request #7762 from influxdata/js-6541-timezone-support
Support timezone offsets for queries
2017-03-28 10:39:07 -05:00
Cory LaNou b4d61d4ef4 Merge pull request #8119 from influxdata/cjl-influx-chunked
add chunked/chunk size as setting/options in cli
2017-03-28 10:38:56 -05:00
Jonathan A. Sternberg b14c292cba Fix a regression when math was used with selectors
If there were multiple selectors and math, the query engine would
mistakenly think it was the only selector in the query and would not
match their timestamps.

Fixed the query engine to pass whether the selector should be treated as
a selector so queries like `max(value) * 1, min(value) * 1` will match
the timestamps of the result.
2017-03-27 14:12:15 -05:00
Stuart Carnie 9e69bdbef5 Fixes issue #8199
Benchmarks

```
benchmark              old ns/op     new ns/op     delta
BenchmarkMarshal-8     1216          1007          -17.19%

benchmark              old allocs     new allocs     delta
BenchmarkMarshal-8     4              2              -50.00%

benchmark              old bytes     new bytes     delta
BenchmarkMarshal-8     416           256           -38.46%
```
2017-03-25 13:33:36 -07:00
Ben Johnson 2edfb1c92d
Ignore series limit on database load. 2017-03-24 16:27:16 -06:00
Jason Wilder ee03fbb164 Fix series tombstone sketch not updated when dropping measurment 2017-03-24 15:49:00 -06:00
Ben Johnson d2b396bff5
Fix database series limit, remove shard series limit. 2017-03-24 13:16:00 -06:00
Jonathan A. Sternberg b869607dc2 Merge pull request #8185 from influxdata/js-8174-fix-query-parser-subtraction-confusion
Fix query parser when using addition and subtraction without spaces
2017-03-24 13:50:04 -05:00
Jonathan A. Sternberg ccf0cb8371 Fix query parser when using addition and subtraction without spaces
Additionally, support unary addition and subtraction for variables,
calls, and parenthesis expressions. Doing `-value` will be the
equivalent of doing `-1 * value` now.
2017-03-24 12:52:19 -05:00
Ben Johnson 9fb8f1ec1d
Fix database and tag limits. 2017-03-24 09:48:10 -06:00
Jason Wilder 631681796d Remove tsl file committed by mistake 2017-03-23 16:18:27 -06:00
Jason Wilder 7119ef8f29 Merge pull request #8193 from influxdata/jw-123-backports
1.2.3 backports
2017-03-23 13:31:35 -06:00
Jason Wilder 820e32b81e Merge pull request #8192 from influxdata/jw-123
Remove MMAP derefencing code
2017-03-23 13:31:17 -06:00
Jason Wilder ca1919e5de Use standard merge algorithm for merging values
The previous version was very innefficient due to the benchmarks used
to optimize it having a bug.  This version always allocates a new
slice, but is O(n).
2017-03-23 12:53:59 -06:00
Jason Wilder ba2571903d Fix broken Values.Merge benchmark
Merge had the side effect of modifying the original values so
the results are wrong because they always hit the fast path
after the first run.
2017-03-23 12:53:50 -06:00