Commit Graph

268 Commits (master)

Author SHA1 Message Date
jlapacik 9f9be91828 feat: remove feature flags for first and last pushdowns 2020-07-07 14:15:48 -07:00
jlapacik 3246b3c7ad refactor: remove feature flag for certain pushdowns 2020-07-01 12:59:39 -07:00
Jonathan A. Sternberg e4e28526f8
build(flux): update Flux to v0.71.0 (#18809)
Additional changes:

* fix(query/stdlib): update rewrite rules for schema mutation

The schema mutator was wrapped in a dual implementation spec so the
rewrite rules were type asserting on the wrong type.
2020-07-01 13:12:50 -05:00
Jonathan A. Sternberg 1cd9569bff
feat(flags): add a feature flag for memory optimized schema mutation (#18794) 2020-06-29 16:53:45 -05:00
jlapacik 3958c76604 feat: turn on storage capability for first 2020-06-25 14:37:07 -07:00
Jonathan A. Sternberg 61362e4d63
feat(query/stdlib): add a rule to reorder group and window (#18613)
This rule reorders group and window so it will switch from using
`ReadGroup` to using `ReadWindowAggregate` when the intent is to
aggregate a grouped window. It will then add a group node that groups by
the given columns and the start and stop columns and then reperform the
aggregate. This is more performant than performing the group first.
2020-06-22 11:11:27 -05:00
Yiqun (Ethan) Zhang 95d97c6e29
feat(query): planner rule to push down window and bare first() and la… (#18534) 2020-06-17 14:00:40 -05:00
Adrian Thurston 5d1a759170
feat: annotate context with feature flags when handling flux queries (#18506)
Annotate the context with feature flags when handling flux queries in influxdb.
Taking advantage of this in flux end-to-end tests. Using a custom flagger that
can set overrides based on the test case that is about to be run, allowing us
to enable features in the end-to-end tests.
2020-06-17 16:55:29 +03:00
jlapacik a19604c0ea refactor: windowed read operation should include aggregate name 2020-06-16 18:05:21 -07:00
Christopher M. Wolff 8fa5d3f591
feat(query): add test and feature flag for pushing down sum (#18484) 2020-06-12 13:28:03 -07:00
Johnny Steenbergen b1c7800bbe chore(query): skip flakey test
references: #18463
2020-06-11 11:26:38 -07:00
Yiqun (Ethan) Zhang 82185dd434
feat: add feature flag for fill() (#18445) 2020-06-10 16:00:43 -05:00
Jonathan A. Sternberg db686349e7
feat(storage/flux): support full aggregate window push down (#18399)
This enables a new rule that will push down the full `aggregateWindow`
query including the `duplicate` and `window(every: inf)` that recombines
the tables. When the full rule is used, the table is not split into
tables for each window and instead retains itself as a single table. The
start or stop column is renamed to `_time` and `_start` and `_stop` will
be the boundaries of the query.
2020-06-10 13:21:41 -05:00
Faith Chikwekwe 1bf2ce1a32 feat(query): register bare aggregate 2020-06-09 14:24:41 -07:00
Jonathan A. Sternberg 077949cd96
chore(flux): downgrade flux to v0.68.0 (#18413)
* revert: "feat: add feature flag for fill() (#18386)"

This reverts commit 8f9e73af27.

* chore(flux): downgrade flux to v0.68.0
2020-06-09 11:38:55 -05:00
Yiqun (Ethan) Zhang 8f9e73af27
feat: add feature flag for fill() (#18386) 2020-06-08 21:57:19 -05:00
Yiqun (Ethan) Zhang 78526a2210
chore: update flux to v0.69.1 (#18403) 2020-06-08 20:57:56 -05:00
jlapacik eba496d1bd
feat: grouped aggregate rewrite rules (#18342)
* feat: flags for pushing down new aggregates

* refactor: grouped aggregate rewrite rules

The storage operation ReadGroup aggregates per series on the storage
side. The planner will rewrite grouped aggregate queries to call
ReadGroup, which will perform a partial aggregation, followed by
another operation that will perform the rest of the aggregation on
the compute side.

* feat: storage capabilities for grouped aggregates

* fix: changes from review

* feat: group read operation name should include aggregate
2020-06-04 14:36:15 -07:00
Jonathan A. Sternberg efbc4ae7c1
feat(storage/flux): implement create empty for the window table reader (#18288)
This implements create empty for the window table reader and allows this
table read function to be used when it is specified. It will pass down
the create empty flag from the original window call into the storage
read function.

This also fixes the window table reader so it properly creates
individual tables for each window. Previously, it was constructing one
table for an entire series instead of one table per window.

Tests have been added to verify three edge case behaviors. The first is
the normal read operation where all values are present. The second is
when create empty is specified so null values may be created. The third
is with truncated boundaries to ensure that storage is read from and the
start and stop timestamps get correctly truncated.
2020-06-01 17:57:50 -05:00
Yiqun (Ethan) Zhang 41156ca646
feat(query): implement window count aggregate pushdown (#18043) 2020-05-28 13:42:38 -05:00
Christopher M. Wolff 53165bfb7f
feat(query): add a planner rule to push down bare aggregates (#18144) 2020-05-21 23:03:09 -07:00
Adrian Thurston b776cf46f5
feat: added PushDownGroupAggregate planner rewrite rule (#18085)
Added a (disabled) planner rule that matches:
   ReadGroupPhys -> { count }

It uses the same physical spec node for group to implement the aggregate. The
rule requires:
 * the pushDownGroupAggregateCount feature flag enabled
 * no existing aggregate present in the ReadGroup
 * use of the "_value" column only
2020-05-20 16:57:16 +03:00
Adrian Thurston b43f79b980
fix: need to rebuild the query request before the second e2e test run (#18112)
The e2e test driver in influxdb runs the tests twice to get past the fact that there
is no way to force order between the write to storage and the read back. When
the json.Marshal call became mandatory it was added to the first run, but not
the second.
2020-05-15 18:50:33 +03:00
Jonathan A. Sternberg 09b8e40933
fix(query/stdlib): update to function to use the refactored row functions (#18086)
The row functions were refactored to remove state from the dynamic
function. This updates the code that invoked row functions.
2020-05-13 14:11:14 -05:00
Adrian Thurston e51a2b81e9
feat: added PushDownWindowAggregate planner rewrite rule (#17898)
Added a (disabled and feature-flagged) planner rule that matches:

ReadRange -> window -> { min, max, mean, count, sum }

The rule requires:
 * the pushDownWindowAggregate{Count,Rest} feature flags enabled
 * having WindowAggregateCapability
   (which StorageReader does not currently have)
 * use of "_value" columns only
 * window.period == window.every
 * window.every.months == 0
 * window.every is positive
 * window.offset == 0
 * standard time columns
 * createEmpty is false
2020-05-06 10:27:17 +03:00
jlapacik 3079d2a8aa Merge branch 'master' into chore/merge-master-into-algo-w 2020-04-24 14:21:26 -07:00
Johnny Steenbergen 46f69bfc8c fix(flux): skip flakey test
references: #17847
2020-04-23 11:47:32 -07:00
Jonathan A. Sternberg d764ca3798
refactor(query): return detailed capabilities for the read window aggregate interfaces (#17836)
This modifies the read window aggregate interfaces to future-proof it
if and when we add additional capabilities to the method. Previously,
the interface was all or nothing. If we modified the RPC call itself, we
would have to make a new interface to denote the change to the Go code.

This changes the interface so now a `WindowAggregateCapability` exists.
This way, we can modify the struct to include things like:

```
type WindowAggregateCapability struct {
    WindowPeriodCapability bool
    MeanAggregateCapability bool
}
```

This way we can learn if the RPC call itself supports some specific
option. If the first iteration doesn't support a mean aggregate or the
mean aggregate is only supported by single server implementations, the
window aggregate can tell the caller that it won't be able to compute
the mean aggregate.

Since it fills in a struct with these capabilities, the struct can
safely introduce new values. If a downstream consumer wants to take
advantage of that functionality, then all interfaces in the chain have
to be updated to consume the upstream capabilities.
2020-04-23 10:22:33 -05:00
jlapacik c6ffeac22b test: skip flux end to end test for writing null values 2020-04-22 14:58:58 -07:00
jlapacik 54ac783475 refactor(query): move ReadWindowAggregateSpec to query package 2020-04-22 14:54:09 -07:00
jlapacik 63fd3655be Merge branch 'master' into chore/merge-master-into-algo-w 2020-04-22 14:52:59 -07:00
Jonathan A. Sternberg 58522d1190
feat(query): implement the ReadWindowAggregateSource (#17839)
The `ReadWindowAggregateSource` will invoke the `ReadWindowAggregate`
method on the `influxdb.Reader` and return the table. It is implemented
using the same common methods that are used for the other sources.
2020-04-22 16:07:45 -05:00
Yiqun (Ethan) Zhang 52dc494edb
feat(query): add ReadWindowAggregatePhysSpec (#17824) 2020-04-22 13:53:59 -05:00
Jonathan A. Sternberg 60c58ad805
feat(query): add interface for the window aggregate capability (#17801)
Added an interface for an additional storage capability. This interface
will allow for checking if the reader supports the window aggregate call
and another method for invoking the call if it does.

This is implemented using a single interface. If the reader implements
the interface, it indicates that the client is capable of reading the
response. The `HasXXX` method is intended to check if the store supports
the operation. This method also takes a context because it could require
a remote call or to wait for one.
2020-04-21 14:15:38 -05:00
jlapacik e076b61d5c fix: planner rewrite rules take a context 2020-04-20 14:09:02 -07:00
Paul Hummer 724e624970 chore: update flux 0.66.1 2020-04-20 12:36:53 -06:00
jlapacik 7541af8414 chore: merge master into algow 2020-04-15 14:42:03 -07:00
Alirie Gray 8975fd2365
refactor(tenant): move bucket and urm auth layers to tenant service (#17474)
Co-authored-by: Lyon Hill <lyondhill@gmail.com>
2020-04-07 11:13:27 -07:00
Jonathan A. Sternberg 687ab7001b
refactor(query): update semantic graph usage for function expression refactor (#17653)
This updates the semantic graph usage to accomodate the change to the
semantic graph that removed the ambiguity of the body so now it is
always a block instead of being a block or an expression.
2020-04-07 12:36:24 -05:00
Jonathan A. Sternberg 1bb08ceaf8
refactor(query/stdlib): modify storage filters to use the predicate directly (#17650)
The storage filters are modified to use the predicates directly so we do
not have to pass `semantic.FunctionExpression` around. Instead, since
simple expressions are all that are supported anyway, we transform
suitable function expressions into predicates as part of the push down
rule and this simplifies the influxdb reader code.

This also moves the storage predicate conversion code into the standard
library package as it is the only location that uses this code now that
the predicate conversion is done as part of the push down rule.

This refactor was prompted by another refactor of the
`semantic.FunctionExpression` that would cause it to always contain a
`semantic.Block`. Since the push down filter needs the expressions and
to combine them, this refactor allows us not do construct a combined
filter inside of blocks which allows us to have better type safety.
2020-04-07 10:45:08 -05:00
Jonathan A. Sternberg d3fa60991f
Merge branch 'master' into chore/merge-master 2020-04-06 12:17:47 -05:00
Jonathan A. Sternberg f09ee881fb
Merge pull request #17607 from influxdata/refactor/rewrite-imports
refactor: rewrite imports to include the /v2 suffix for version 2
2020-04-03 15:12:10 -05:00
Yiqun (Ethan) Zhang ace02b1b35
fix: nil timestamp panic in to() (#17591) 2020-04-03 15:03:39 -04:00
Jonathan A. Sternberg 0ae8bebd75
refactor: rewrite imports to include the /v2 suffix for version 2 2020-04-03 12:39:20 -05:00
Jonathan A. Sternberg 469c5849c4
Merge branch 'master' into feat/use-algo-w 2020-04-03 09:30:04 -05:00
Yiqun (Ethan) Zhang 48efdb52ea
build(flux): update Flux to v0.65.0 (#17484) 2020-03-27 18:42:19 -04:00
jlapacik 7d885fb2c6 chore: update flux
Closes https://github.com/influxdata/influxdb/issues/17065.
2020-03-26 10:07:17 -07:00
Christopher M. Wolff 20c2439230
refactor(http): change *ast.Package to json.RawMessage in query requests (#17316) 2020-03-23 12:39:24 -07:00
Jonathan A. Sternberg 5f30466b5d
feat(query): update buckets and v1.databases calls (#17294)
The `buckets()` and `v1.databases()` functions have been updated to
support their remote counterparts that were added to flux. These
functions now do the same thing as the `from()` call where they will
default to the current organization when run against the server and will
use the remote versions from the repl.
2020-03-17 10:41:53 -05:00
Christopher M. Wolff 790661c196
test(query/stdlib/influxdata/influxdb): update rules_test to use algo-w (#17295)
Algorithm W will return a semantic graph where every function block
always uses a block and a return statement. This is in contrast to the
Go code which would have the semantic graph be an expression or a block.

The push down code would not introspect blocks which meant that any
function expression produced by algorithm w would never be pushed down.
This fixes it so the code will now extract the semantic expression from
inside of a block if there is exactly one statement and the statement is
a return statement.

Co-authored-by: Jonathan A. Sternberg <jonathan@influxdata.com>
2020-03-16 16:46:51 -07:00
jlapacik 07c9a7c921 fix(stdlib): unskip stateChanges end to end test
Closes https://github.com/influxdata/influxdb/issues/17064.
2020-03-12 15:44:56 -07:00
Jonathan A. Sternberg 400d710bc0
refactor(storage/reads): remove the storage dependency on libflux (#17109)
This removes the storage dependency on libflux by moving the interfaces
it implements to the `query` package so it can reference the definitions
rather than the package with the implementation and the registration
with the runtime. This breaks the dependency where a storage package
depends on a flux runtime package.
2020-03-06 19:59:16 -06:00
Jonathan A. Sternberg 0d6e4e310b
Merge branch 'master' into feat/use-algo-w 2020-03-06 16:46:49 -06:00
jlapacik 3250fb1453 fix(stdlib): update flux dependency and unskip test 2020-03-05 08:24:51 -08:00
Christopher M. Wolff 027d29dd30
chore: update to Flux version v0.63.0 (#17083) 2020-03-03 13:17:37 -08:00
Jonathan A. Sternberg a84df749cc
feat(stdlib): add influxdb source (#17047)
This updates the repl to support the new influxdb source and use it by
default in the repl. It will automatically set some default variables
for the influxdb source to make it easier to use the cli. In particular,
it will set the default organization, token, and the host. The
organization gets set to the one specified in the repl command and the
token gets filled in with the user installed one. The host defaults to
localhost but will change to whichever one was specified on the cli.

In addition, this will replace the http client with one that sets
insecure skip verify if the `--skip-verify` flag is used.
2020-03-02 20:08:19 -06:00
jlapacik 03cfdba832 fix(stdlib): unskip flux end to end tests
Closes https://github.com/influxdata/influxdb/issues/16812.
2020-03-02 13:47:03 -08:00
Jonathan A. Sternberg 0872af8553
refactor: update semantic builtin lookups to use runtime now (#17066) 2020-03-02 14:51:49 -06:00
Jonathan A. Sternberg 935180e9bd
refactor: update flux for the runtime package (#17002) 2020-02-27 11:31:45 -06:00
Christopher M. Wolff 2535d54087
chore: update to Flux v0.60.0 (#16936) 2020-02-19 15:02:21 -08:00
Christopher M. Wolff d6766962d1
test(query): skip tests that are not passing in feat/use-algo-w (#16813) 2020-02-11 15:02:26 -08:00
Christopher M. Wolff 0f3aabc954
refactor(query): let influxdb build against algo-w branch (#16673) 2020-01-24 14:36:09 -08:00
Yiqun Zhang 74ba877cb9
feat: opentracing in query execution runtime 2020-01-08 11:16:13 -05:00
Jonathan A. Sternberg 9194d89bbc
feat(query/stdlib): prevent a filter push down if the filter needs to keep empty tables (#16295)
The storage engine isn't capable of sending back empty tables when a
series is empty. Because of this, we disable the push down and let flux
do the filtering in the case where there is a filter and it is specified
to keep the empty tables.
2020-01-06 12:23:31 -06:00
Johnny Steenbergen ad841608ca chore(http): refactor bucket|dashboard|label|umr|var http clients to use reusable HTTP client
this is a step towards providing a shared http client that manages  pooling connections,
timeouts, and reducing GC for by not creating/GCing a client each req. Bring on the red!
2019-12-09 09:44:41 -08:00
Jonathan A. Sternberg d7ddcf5abc
feat(query): enable optimized pivot push down rule (#16073)
Use the optimized pivot when the influxdb source is being used.
2019-12-03 09:16:19 -06:00
Christopher Wolff 51c92fd0ed test(query): reskip flakey test
https://github.com/influxdata/influxdb/issues/15667
2019-10-30 14:22:59 -07:00
Christopher Wolff 7aa1fccee0 test(query): unskip skipped PromQL transpiler end-to-end .flux tests 2019-10-30 10:40:03 -07:00
Jonathan A. Sternberg 33c3f92329
fix(query/stdlib): fix rewritten pushable expressions when a logical expression is present (#15557)
When `exists` was used in conjunction with any other pushed down
expression, the `exists` was not rewritten properly because the rewrite
did not descend into logical expressions.

This is now fixed so those expressions will be rewritten correctly. This
affected the following form:

    filter(fn: (r) => r._measurement == "cpu" and exists r.host)

It did not affect the following:

    filter(fn: (r) => r._measurement == "cpu")
    |> filter(fn: (r) => exists r.host)
2019-10-23 15:59:20 -07:00
Jonathan A. Sternberg f82e6b2626
chore(query/stdlib): skip flaky tests regarding storage meta queries (#15451) 2019-10-17 09:54:44 -07:00
Jonathan A. Sternberg 74829b025c
refactor(query/stdlib): update flux end to end tests for package subtests (#15392) 2019-10-15 09:18:21 -05:00
Christopher Wolff 26dbd9225c feat(query/stdlib/experimental): add experimental.to() implementation to OSS 2019-09-20 14:31:58 -07:00
Lorenzo Affetti 9532c9d170 fix(testing): skip unbounded e2e test 2019-09-19 17:51:45 +02:00
Lorenzo Affetti ab835c8e0e
refactor(dependencies): use new dependency injection framework (#15174)
refactor(dependencies): use new dependency injection framework
2019-09-19 17:01:17 +02:00
Lorenzo Affetti 7102febafd fix(testing): skip promql e2e tests 2019-09-13 18:49:00 +02:00
Stuart Carnie d56af6eb29
fix(query): Ensure tags are sorted before passing to PointsWriter
Writes directly to a PointsWriter require the tag key, value pairs
are sorted in lexicographically ascending order. This commit uses
new API from the `models` package to ensure this invariant is
maintained.
2019-09-11 16:37:57 -07:00
Jonathan A. Sternberg bea3a18330
fix(query/stdlib): use auth correctly in the v1.databases() call (#14927)
The `v1.databases()` call did not correctly filter buckets based on
auth. Fortunately, it did not cause any improper permissions such as
allowing a person to see buckets that they had no read access to.

The error instead was that if a user did not have read access to one of
the buckets that was returned, the entire command would fail rather than
filter out the bucket that didn't have permissions.

This changes it so that if the user doesn't gets an unauthorized error
when accessing a bucket, it will filter it from the list instead of
failing. It also changes it so the error message is marked as
`ENotFound` instead of as an internal error.
2019-09-05 10:35:23 -05:00
Nathaniel Cook 454003841a build(flux): upgrade to Flux v0.42.0
Skips a test that requires special dependencies to pass.
2019-08-30 13:02:30 -06:00
Adam fcfdd2b1ef build(flux): update to latest flux master 2019-08-26 16:46:17 -06:00
Adam f97929614c test(query): roll back some changes to end_to_end_test.go 2019-08-26 16:46:17 -06:00
Adam 808ebb9590 fix(query): update usage of interpreter dependencies 2019-08-26 16:46:17 -06:00
Nathaniel Cook 6303e2dcc5 test(query): skip holt_winters_panic test
added executor dependencies where needed
2019-08-26 16:46:17 -06:00
Nathaniel Cook 4b339dd0cf fix(query/to): make orgID default to the context org
This change makes it so that if an org or orgID are missing on calls to the `to` function
that the orgID is retrieved from the request context.

This is consistent with how `from` works.
2019-08-23 11:03:26 -06:00
Nathaniel Cook 6b54abb51e test(query): skip holt_winters_panic test 2019-08-22 13:11:13 -06:00
docmerlin (j. Emrys Landivar) 19fe098888 chore(ci): update go-tools 2019-08-22 10:55:05 -05:00
Nathaniel Cook 7498c06d3f test(query): skip check and http_endpoint Flux tests 2019-08-21 09:59:01 -06:00
Nathaniel Cook 6a0fa44093 fix(query): update code for changes to scoped compiler 2019-08-21 09:59:01 -06:00
Nathaniel Cook 1b8ab3c2f2 fix(query): remove http.to and update test cases that used it 2019-08-21 09:59:01 -06:00
Christopher M. Wolff c61646d0f4 feat(query/stdlib): add an experimental "to" function (#14664) 2019-08-21 09:59:01 -06:00
Nathaniel Cook cd2bfb9b22 refactor(query/stdlib): update tests for new Flux test name conventions (#14669) 2019-08-21 09:59:01 -06:00
Stuart Carnie 9d94b7500d
fix(flux): Fix hanging test by ensuring results are read
Closes #14574
2019-08-12 16:47:03 -07:00
Lorenzo Affetti ef238ae064 skipping failing e2e tests 2019-08-06 12:48:32 +02:00
j. Emrys Landivar (docmerlin) b303d54584 perf(query): hoist bucket lookups so we do not look up per table
perf(query): hoist bucket lookups so we do not look up per table
2019-08-05 16:02:33 -05:00
j. Emrys Landivar (docmerlin) 24c1f21e4e WIP 2019-08-05 13:16:51 -05:00
Christopher M. Wolff 42bb664aaf
feat(query): add storage request duration metric (#14534)
influxdata/idpe#4126
2019-08-02 08:53:14 -07:00
Jonathan A. Sternberg e4c89cbe0c
feat(query/stdlib): push down exists operator to storage (#14538)
The `exists` operator now gets pushed down to storage correctly. If
`exists` is used on a tag, then it will be rewritten to `tag != ""`
which is how storage defines if a tag exists. If `not exists` is used,
then it will use `tag == ""` which is how you would query storage for
only if a tag doesn't exist.

The `tag == ""` and `tag != ""` are different. For `tag == ""`, the
predicate is impossible for the storage layer to return true with.
Ideally, we would just rewrite this to return nothing and we wouldn't
bother with even querying storage. Instead, we just do not rewrite this
predicate because it cannot be rewritten to make sense with storage. If
we see `tag != ""`, it is the only one that can be passed through as-is
because `tag != ""` returns the same values as `exists tag`. It will
return true for every non-null value.
2019-08-02 09:31:10 -05:00
Christopher M. Wolff e142f6ca7c
fix(query): add LookupName method to dependency interfaces (needed by flux to()) (#14498) 2019-08-01 10:10:43 -07:00
Christopher Wolff 3855ad9f33 chore: update Flux to v0.37.2 2019-07-24 12:57:37 -07:00
Christopher Wolff 63c0f40548 fix(query): use auth-wrapped org and bucket services for query 2019-07-19 20:02:53 -06:00
Jonathan A. Sternberg ee7ff84d8b
feat(query/stdlib): update influxdb sources to use flux error codes (#14346)
Update the influxdb sources to be annotated with flux error codes. This
will enable us to identify different response codes for these
operations.
2019-07-16 09:15:46 -05:00
Nathaniel Cook 92a4ee53cf fix(query): skip tests 2019-07-12 11:15:58 -06:00
Jonathan A. Sternberg a0f585bd56
fix(query/stdlib): remove skip from the flux e2e tests (#14253)
The underlying bug that caused them to be flaky has been fixed.
2019-07-03 12:03:22 -05:00
Jonathan A. Sternberg 3d9b9fe36f
chore(query): disable flaky end to end tests for flux (#14231) 2019-06-28 10:15:47 -05:00
Adam d85ef69e19 Merge remote-tracking branch 'origin/master' into flux-staging 2019-06-19 13:38:49 -04:00
Adam 1d84bf6516 fix(stdlib/testing): skip flaky test regexp_replaceAllString 2019-06-18 16:25:59 -04:00
roshie548 15f66d1b98 moved field declaration line 2019-06-18 08:51:34 -07:00
roshie548 f45d616eaa added test case 2019-06-18 08:51:34 -07:00
roshie548 13b397bb3c fix(stdlib): Fixed to() creating too many rows for multiple fields
If a table has multiple field values, to() no longer writes rows multiple times.
2019-06-18 08:51:34 -07:00
Jonathan A. Sternberg 42c8ce3481
fix(query/stdlib): remove skips for tests that were flaky from table.Do (#14048) 2019-06-03 11:56:25 -05:00
Jonathan A. Sternberg 2b1c1ec143
fix(storage/reads): fix the storage tables to work correctly with multiple transformations (#14016)
The storage table reader will now work correctly when there are multiple
outputs. The table interface now implements the new table and column
reader interfaces and works properly with `execute.CopyTable`. The
source uses `execute.CopyTable` to buffer the table in memory when there
are multiple output transformations.
2019-05-30 12:31:54 -05:00
Jonathan A. Sternberg c560e27e1d
chore(flux): update to Flux v0.31.1 (#14015) 2019-05-29 15:48:23 -05:00
Jonathan A. Sternberg ebdbc394fc
chore(flux): update to Flux v0.31.0 (#14002)
* refactor(storage/reads): update the table implementation for the interface change (#13994)

* chore(flux): update to Flux v0.31.0
2019-05-28 17:24:26 -05:00
docmerlin (j. Emrys Landivar) fa849d5c0b chore(testing) skip flakey test 2019-05-28 10:49:16 -05:00
Nathaniel Cook 8ebd6c8315 chore(query): add missing skip tests from merge 2019-05-15 10:18:08 -06:00
Lorenzo Affetti 44fb090468 test(flux/e2e): export skip list 2019-05-13 19:14:52 +02:00
Adam 415f698491
Merge pull request #13830 from influxdata/fix/to_heterogeneous
Fix/to heterogeneous
2019-05-08 16:45:46 -04:00
Adam 397c33a0dc fix(stdlib/influxdata): fix influxdb.to function to process heterogeneous tables 2019-05-08 09:37:43 -04:00
jlapacik dc59629f69 fix(influxdb): better error message when range not pushed down
Fixes https://github.com/influxdata/flux/issues/1224.
2019-05-07 09:59:58 -07:00
jlapacik faab75968b refactor(storage): remove Read method from Store interface 2019-05-03 11:02:20 -07:00
jlapacik 7333847e2a refactor(influxdb): remove and/or transfer duplicated tests 2019-05-03 11:02:20 -07:00
jlapacik 0ce05e7ad6 refactor(influxdb): remove old FromProcedureSpec 2019-05-03 11:02:20 -07:00
Lorenzo Affetti 33418aac2c test(flux/e2e): skip flaky window_generate_empty test 2019-05-02 18:19:07 +02:00
jlapacik e50508a349 feat(influxdb): enable group pushdown rule
Closes #13623.
2019-05-01 10:35:10 -07:00
jlapacik 95aa194498 feat(storage): ReadGroup RPC definitions and storage reader 2019-05-01 10:35:10 -07:00
jlapacik 5f87134ca8 feat(query): physical group operation and pushdown rule
test(query): group pushdown rule
2019-05-01 10:35:10 -07:00
Jonathan A. Sternberg 1a254a3293
feat(stdlib): enable the tag keys optimization for meta queries (#13705) 2019-04-30 21:32:47 -05:00
Stuart Carnie fb39ac39ce
fix(storage): Store.Read behavior changed to return unsorted series keys
Closes #13581
2019-04-26 10:38:59 -07:00
Jonathan A. Sternberg 46d2d0012b fix(storage): translate _measurement and _field to the proper strings (#13662)
The RPC call should translate `_measurement` and `_field` to their
proper shortened byte strings when requesting the tag values.

This also fixes the planner rewrites to return the root node even when
no rewrite happened as this is required by the planner.
2019-04-26 10:36:51 -07:00
Nathaniel Cook e651b020b2 refactor(query): enable new planner rules and remove old rules 2019-04-25 11:16:11 -07:00
Ben Johnson 01bfcf822b
Merge point parse & explode (#12377)
Merge point parse & explode
2019-04-24 10:30:16 -06:00
Ben Johnson 272f340c30
Merge point parse & explode. 2019-04-24 10:12:15 -06:00
Jonathan A. Sternberg 5e77bd1e28
feat(query): implement the read tag values rpc call in the query engine (#13559)
If a pattern is seen that matches the `v1.tagValues(...)` call, then it
will be replaced with a direct RPC call to read the tag values for the
selected tag key which should be better optimized than reading from the
storage engine tsm1 files.
2019-04-23 12:56:35 -05:00
Kelvin Wang 7a72c363f2 remove org from bucket 2019-04-22 18:39:05 -04:00
Kelvin Wang 9d44ac3635 rename bucket organization to org 2019-04-22 18:39:01 -04:00
Jonathan A. Sternberg e5657ca62b
feat(query): implement the read tag keys rpc call in the query engine (#13513)
If a pattern is seen that matches reading the tag keys, it will be
replaced with a direct RPC call to read the tag keys which should be
better optimized than reading from the storage engine tsm1 files.
2019-04-22 14:09:44 -05:00
Jonathan A. Sternberg c98c29c1d1
feat(query): add push down rule for filters to read range procedure (#13512)
The read range procedure that uses the new rpc endpoints will now accept
filters using the same rules as the previous physical from procedure
spec.
2019-04-18 18:18:41 -05:00
Nathaniel Cook 8b918539db Merge branch 'master' into flux-staging 2019-04-17 12:26:10 -06:00
jlapacik 89bf535602
test(stdlib): skip flaky range test (#13405) 2019-04-15 10:08:50 -07:00
Christopher M. Wolff 77f1b0da4b fix(query): re-enable some from/to bucket tests (#13334) 2019-04-12 07:15:27 -07:00
Jacob Marble f56c42794b
chore(tracing): Cleanup (#13296)
* chore(tracing): Cleanup

* broken test

* fix unused var

* fix test
2019-04-10 19:28:21 -07:00
jlapacik 8078b915fd refactor(storage): ReadFilter storage operation 2019-04-08 15:59:37 -07:00
Jonathan A. Sternberg 72726cbe85
Merge branch 'master' into flux-staging 2019-04-01 10:59:43 -05:00
Lorenzo Affetti c4ae25ca39
Merge pull request #12812 from influxdata/test/memory-limits
test(launcher): test for query memory limits and launcher test helpers
2019-03-28 15:48:16 +01:00
Christopher M. Wolff f945b84642
refactor(stdlb): Change plan.PlanNode to plan.Node (#12906) 2019-03-27 14:19:04 -07:00
Nathaniel Cook ca6f2ad0c6 Merge branch 'master' into flux-staging 2019-03-27 09:42:48 -06:00
Lorenzo Affetti 90a48c74f6 test(launcher): test for query memory limits and launcher test helpers 2019-03-27 15:50:35 +01:00
Lorenzo Affetti a49bb73c04 chore: update Flux to v0.23.0 2019-03-26 18:04:18 +01:00
Christopher M. Wolff 56e688beee
fix(query): add Check method to query service interfaces (#12866)
Fixes influxdata/idpe#2756.
2019-03-25 20:05:44 -07:00
Lorenzo Affetti d18c6e5ffe
fix(query/stdlib/influxdb): return error on point explosion (#12774) 2019-03-20 15:45:31 +01:00
jlapacik 9324d5c1a1
test(stdlib): skip failing window test due to new trigger optimization (#12708) 2019-03-19 09:16:47 -07:00