Commit Graph

9970 Commits (7c34b1b3f8b9de22cadbf5d4fbc525d62109cb6f)

Author SHA1 Message Date
Jonathan A. Sternberg 09a9b3c53e Fix aux iterators to respect early closing
The primary input iterator for an aux iterator would continue trying to
send points to a closed channel even after an aux iterator had already
been closed.

This changes the aux iterators to use sync.Cond instead of channels and
lower level syncing primitives for handling buffered input/output.

Fixes #5974.
2016-03-11 12:07:32 -05: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
Jack Zampolin 156cc5eddf Merge pull request #5975 from influxdata/md-stress-panic
Fix concurrent map access
2016-03-10 11:57:37 -08:00
Michael Desa 11424a889f Fix concurrent map access 2016-03-10 10:06:08 -08:00
Jonathan A. Sternberg 620addadde Forbid binary expressions in function calls
Also fixes derivative calls with an aggregate function to require a
group by interval. The call without a group by interval doesn't make
sense as it will never return anything since it will always have one
point.

Fixes #5968.
2016-03-10 11:38:47 -05:00
Jason Wilder db9d403fd1 Update changelog
[ci skip]
2016-03-10 09:08:25 -07:00
Jason Wilder 998cb0a6a2 Merge pull request #5963 from influxdata/jw-deadlock
Fix possible deadlock
2016-03-10 09:01:31 -07:00
Jonathan A. Sternberg df4c305012 Merge pull request #5961 from influxdata/js-5959-top-incompatible-with-binary-expr
Forbid using top() or bottom() in a binary expression
2016-03-10 10:45:52 -05:00
Jason Wilder c44195d999 Convert measurementToRegex to exported func
Make it consistent with other conventions where exported funcs
take a lock.
2016-03-09 17:45:37 -07:00
Jason Wilder f020547d60 Update changelog 2016-03-09 17:42:06 -07:00
Jason Wilder 992c78ee22 Remove period shard maintenance goroutine
This is no longer used in tsm and just peridocially locks everything
for no reason now.
2016-03-09 17:31:02 -07:00
Jason Wilder ae2360df7c Use read lock to expand sources
A write-lock was taken which locks the whole store during a query
that needs to expand sources.  Under load, writes can start to fail.
2016-03-09 17:22:57 -07:00
Jonathan A. Sternberg a55896a555 Merge pull request #5956 from influxdata/js-2715-allow-regex-for-field-values
Support using field regex comparisons in the WHERE clause
2016-03-09 17:38:39 -05:00
Jonathan A. Sternberg f276c705df Forbid using top() or bottom() in a binary expression
Fixes #5959.
2016-03-09 17:32:17 -05:00
Edd Robinson 7dbc0f49d3 Merge pull request #5818 from influxdata/er-upgrade-error
Highlight upgrade info for old shards
2016-03-09 19:39:59 +00:00
Jason Wilder bc26167f0c Merge pull request #5957 from influxdata/jw-rollback
Fix rollback from 0.11
2016-03-09 11:57:06 -07:00
Edd Robinson 58c03448aa Merge pull request #5514 from influxdata/er-engine-panic
Ensure shards and engine are safely closed
2016-03-09 18:56:36 +00:00
Jonathan A. Sternberg a9032afabd Merge pull request #5953 from influxdata/js-5949-validate-field-types
Return error message when improper types are used in SELECT
2016-03-09 13:54:36 -05:00
Jonathan A. Sternberg 4ba3386679 Support using field regex comparisons in the WHERE clause
Fixes #2715.
2016-03-09 13:21:24 -05:00
Jason Wilder 4e8b4c41b8 Fix rollback from 0.11
0.11 no longer uses some files from 0.10.  The code was a little
too aggressive and remove these files which would break rolling back
to 0.10 if necessary.  Since shards must be migrated to tsm before
upgrading to 0.11 and a user might not know they still have old shard
formats, they would not be able to revert back to 0.11 and migrate
them.

Also adds uptime stats to usage data.
2016-03-09 11:19:47 -07:00
Jonathan A. Sternberg 546de3f7cb Return error message when improper types are used in SELECT
Fixes #5949.
2016-03-09 11:36:18 -05:00
Ben Johnson 425ef2c32a Merge pull request #5937 from benbjohnson/show-series
Rewrite SHOW SERIES to SELECT
2016-03-08 15:36:04 -07:00
Ben Johnson 41dde61226 SHOW SERIES 2016-03-08 11:47:57 -07:00
joelegasse 8b6efb49d2 Merge pull request #5936 from influxdata/jl-influx-tsm
Fix b1 conversion regression added in 0.10.2
2016-03-08 12:09:19 -05:00
Joe LeGasse af967a3cac Fix b1 conversion regression added in 0.10.2
Fixes #5924
2016-03-08 11:17:59 -05:00
Gunnar 0d374ecca7 Merge pull request #5862 from influxdata/tp-fix-dynamic-admin-versioning
Get client version dynamically
2016-03-07 19:33:44 -08:00
gunnaraasen d79fc52cab Handle unknown versions 2016-03-07 18:31:35 -08:00
Todd Persen 31d5f13e86 Update CHANGELOG.md 2016-03-07 17:17:19 -08:00
Todd Persen c7f8402dfe Get client version dynamically 2016-03-07 17:16:38 -08:00
Nathaniel Cook 0bf7dd83aa Merge pull request #5929 from influxdata/nc-kapacitor-qe
Export needed function for Kapacitor
2016-03-07 15:57:18 -07:00
Nathaniel Cook 4961a4435b Fix nil comparison for top/bottom 2016-03-07 15:21:22 -07:00
Nathaniel Cook 46fc6e5516 Expose Reduce Functions for Kapacitor 2016-03-07 14:03:14 -07:00
Jonathan A. Sternberg 370f8e4176 Merge pull request #5916 from influxdata/js-refactor-reduce-slice-func
Refactor reduce slice func to use the aggregator and emitter
2016-03-07 15:49:37 -05:00
Jonathan A. Sternberg 9c5bc8ab2b Refactor reduce slice func to use the aggregator and emitter 2016-03-07 13:25:45 -05:00
Jonathan A. Sternberg bfedf69435 Merge pull request #5853 from influxdata/js-5593-show-tag-values
Implemented the tag values iterator for `SHOW TAG VALUES`
2016-03-07 10:38:11 -05:00
Jonathan A. Sternberg 2f0e246757 Implemented the tag values iterator for `SHOW TAG VALUES`
`SHOW TAG VALUES` output has been modified to print the measurement name
for every measurement and to return the output in two columns: key and
value. An example output might be:

    > SHOW TAG VALUES WITH KEY IN (host, region)
    name: cpu
    ---------
    key     value
    host    server01
    region  useast

    name: mem
    ---------
    key     value
    host    server02
    region  useast

`measurementsByExpr` has been taught how to handle reserved keys (ones
with an underscore at the beginning) to allow reusing that function and
skipping over expressions that don't matter to the call.

Fixes #5593.
2016-03-06 09:52:34 -05:00
Jonathan A. Sternberg 4e8004ec83 Merge pull request #5900 from influxdata/js-5890-fix-first-last-timestamps
Fix sorting of `first()` and `last()` calls across shards
2016-03-04 17:10:40 -05:00
Jonathan A. Sternberg 9113839e4c Fix sorting of `first()` and `last()` calls across shards
Previously the call iterator would normalize the time to the interval
for all calls. This meant that when `first()` or `last()` was called
with no group by interval the value would be found for each shard, the
time was normalized, then it tried to find the value between the shards
(but no longer with any time data as that had already been eliminated).

This removes part of the time logic from the call iterators and makes a
new iterator `IntervalIterator` to normalize the times as they come out
of the underlying iterator.

Fixes #5890.
2016-03-03 21:15:43 -05:00
Jonathan A. Sternberg af01984480 Merge pull request #5903 from influxdata/js-fix-point-sorting-for-distinct
Fix sorting for distinct by sorting by value when the point time is the same
2016-03-03 21:14:56 -05:00
Jonathan A. Sternberg 8d89a203a2 Fix sorting for distinct by sorting by value when the point time is the same 2016-03-03 19:09:38 -05:00
Jason Wilder a937e8af98 Add 0.10.2 changelog entries
[ci skip]
2016-03-03 15:38:42 -07:00
Jonathan A. Sternberg caee9a475c Merge pull request #5895 from influxdata/js-5886-more-aggregate-iterator-types
Support all iterator types for count(), first(), and last()
2016-03-03 15:23:57 -05:00
Jonathan A. Sternberg 6e34679fd2 Merge pull request #5893 from influxdata/js-5892-floating-point-division-for-integers
Have division always return a float in the new query engine
2016-03-03 15:20:23 -05:00
joelegasse 4f15e7af13 Merge pull request #5891 from influxdata/jl-influx-tsm
influx_tsm: Properly limit blocks per key per TSM file
2016-03-03 11:58:22 -05:00
Joe LeGasse acd2e1eb51 influx_tsm: Properly limit blocks per key per TSM file
This should fix #5865

This commit also removes the dependecy on the influxql package constants
that were used to write b1 and bz1 files and have changed since the
release of 0.10
2016-03-03 09:05:32 -05:00
Jonathan A. Sternberg fabc41dcfb Have division always return a float in the new query engine
Fixes #5892.
2016-03-03 08:15:54 -05:00
Jonathan A. Sternberg e3660fae93 Support all iterator types for count(), first(), and last()
All three of these iterators are supposed to support all four types of
iterators, but the implementation was never done for string or boolean.

Fixes #5886.
2016-03-02 23:49:55 -05:00
Jonathan A. Sternberg 2440568b27 Merge pull request #5875 from influxdata/js-5852-mean-function-accuracy
Improve mean accuracy while retaining the speedup with a custom iterator
2016-03-02 17:09:58 -05:00
Jonathan A. Sternberg 1c543b28a9 Refactored call iterators to make them public and more usable as a library
This refactor is primarily to support Kapacitor. Kapacitor doesn't care
about the iterators and mostly keeps the points it handles in memory.
The iterator interface is more than Kapacitor cares about.

This commit refactors and opens up the internals of aggregating and
reducing incoming points so it can be used by an outside library with
the same code. It also makes the iterators used by the call iterators
publically usable with new functionality.

Reducers are split into two methods which are separate interfaces that
can be combined for dealing with casting between different types. The
Aggregator interfaces accept points into the aggregator and retain any
internal state they need. The Emitter interface will then create a point
from that aggregated state which can be fed to the iterator. The
Emitters do not fill in the name or tag of the point as that is expected
to be done by the person aggregating the point. While the Emitters do
sometimes fill in the time, that value will also be overwritten by the
iterator. Filling in the time is to allow a future version that will
allow returning the point time instead of just the interval time.
2016-03-02 16:10:49 -05:00
Jonathan A. Sternberg 6dd6281ef9 Merge pull request #5882 from influxdata/js-5871-fix-limit-multiple-sources
Fix limit iterator with multiple sources
2016-03-02 14:54:14 -05:00