Commit Graph

625 Commits (1bb08ceaf8b123fb72353cbc1777065a1c8d184a)

Author SHA1 Message Date
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 17c244d1a7
chore: fix the promqltests go module file (#17631)
The replace directive in the promqltests pointed to the wrong module
path. This is now fixed.
2020-04-06 17:19:27 -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 9895657dc0
ci: run go mod tidy for the promqltests (#17580) 2020-04-03 11:05:49 -05:00
Jonathan A. Sternberg 469c5849c4
Merge branch 'master' into feat/use-algo-w 2020-04-03 09:30:04 -05:00
Gianluca Arbezzano 47959b7436
Merge pull request #17499 from influxdata/feature/move-prometheus-span
chore(tracing): Span with Prometheus Metrics moved to kit/tracing
2020-04-03 10:07:49 +02:00
Lorenzo Affetti 13fc4f335d
test(launcher): e2e test memory limits 2020-04-02 11:20:42 +02:00
Jonathan A. Sternberg eda8d44c74
ci(promqltests): update promqltests go.mod file to be compatible with go 1.13 (#17510)
The prometheus project doesn't adhere to the module suffix so any
attempt to use it as a library fails with go 1.13 or greater. The
workaround is to `go get` a specific commit revision that corresponds to
a tag and let go figure out a pseudo-version for it.

In this case, I updated the revision to the one pointed at by `v2.9.2`
since that is what the current `go.mod` file pointed at. I also updated
the go version to 1.13 inside of `go.mod` to be the same as influxdb.

See https://github.com/prometheus/prometheus/issues/6048 for details.
2020-04-01 10:00:43 -05:00
Gianluca Arbezzano 8e5bd1a2dd chore(tracing): embed the opentracing.Span
Signed-off-by: Gianluca Arbezzano <gianarb92@gmail.com>
2020-03-31 16:01:31 +02:00
Gianluca Arbezzano af06897014 chore(tracing): Span with Prometheus Metrics moved to kit/tracing
I think it is a nice utility function that I would like to use
elsewhere.

So I decided to move it out to the tracing package.

Signed-off-by: Gianluca Arbezzano <gianarb92@gmail.com>
2020-03-31 14:17:50 +02:00
Yiqun (Ethan) Zhang 48efdb52ea
build(flux): update Flux to v0.65.0 (#17484) 2020-03-27 18:42:19 -04:00
Alirie Gray ad7a4a05bb
refactor: change log level back for query controller panics (#17450) 2020-03-26 15:19:07 -07: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 e57c28d4b7
chore: update to latest algo-w flux (#17422) 2020-03-25 14:53:46 -07:00
Lorenzo Affetti 7f70353b18
feat(query): add unused memory bytes prom metric to controller 2020-03-25 18:03:38 +01:00
Christopher M. Wolff e9689b7269
chore: update to latest flux algo-w (#17408) 2020-03-24 15:45:10 -07:00
Alirie Gray bdd6dc644a
refactor(query): change log level to record panic stack traces (#17406) 2020-03-24 14:13:11 -07:00
Alirie Gray 9c3c0b9592
refactor(query): add stack trace to query controller execution (#17392) 2020-03-23 15:01:43 -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
Alirie Gray e51412f6db
refactor(query): add stack trace to executeQuery in controller (#17377) 2020-03-20 16:01:15 -07:00
jlapacik 6c8125b1e8 chore: update flux dependency 2020-03-20 09:24:39 -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 45c51128ae build(flux): update Flux to v0.64.0 2020-03-12 10:08:45 -07:00
Jonathan A. Sternberg 8d2ba699a0
refactor(http): remove the spec and update lang usage (#17148)
This removes the spec and updates the lang package usage to make use of
passing in the runtime as a parameter.

It removes all direct dependendencies on the flux runtime from the http
package.
2020-03-09 13:30:43 -05: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
Yiqun (Ethan) Zhang 5333ff4d1b
feat(transpiler): support difference(), group by wildcard, and correc… (#17021)
* feat(transpiler): support difference(), stddev(), spread(), group by wildcard, and correct _time column
2020-03-06 11:19:46 -05:00
Jonathan A. Sternberg bcbb9df72e
refactor(task): tasks will now use the flux language service (#17104)
The tasks subsystem will now use the flux language service to parse and
evaluate flux instead of directly interacting with the parser or
runtime. This helps break the dependency on the libflux parser for the
base influxdb package.

This includes the task notification packages which were changed at the
same time.
2020-03-05 14:36:58 -06:00
Jonathan A. Sternberg a907e05426
refactor(http): modify query handler to use a language service (#17074)
The language service abstracts away the parse source which breaks the
dependency without moving any of the code.
2020-03-05 10:32:17 -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
Christopher M. Wolff 7547ab8fc2
chore: update to Flux v0.62.0 (#17048) 2020-02-28 10:53:10 -08:00
Jonathan A. Sternberg 25b0e37522
feat: add support for pkg-config (#17036)
This adds support for using pkg-config to build libflux inside of the
flux dependency. The build can occur by either installing `pkg-config`
into your path or the `env` script can be used to invoke it from the go
modules.
2020-02-28 11:08:21 -06:00
Jonathan A. Sternberg ff848bcd55
refactor(repl): remove the querier from the repl (#17031)
The repl no longer takes in a querier and it will run everything
locally. The spec interface will now not be used and will be removed
from the http endpoint at some point.
2020-02-27 15:06:38 -06:00
Jonathan A. Sternberg 935180e9bd
refactor: update flux for the runtime package (#17002) 2020-02-27 11:31:45 -06:00
docmerlin (j. Emrys Landivar) cbbb5db71a fix(tasks): update to newer github.com/influxdb/cron 2020-02-24 09:20:05 -06:00
jlapacik 2c184ead7f chore: update flux dependency and unskip notification tests
Fixes https://github.com/influxdata/influxdb/issues/16809.
2020-02-21 14:58:41 -08:00
jlapacik b01e194613 chore: update flux dependency in promqltests 2020-02-21 14:03:02 -08:00
Jonathan A. Sternberg 7c88946eab
build(flux): update flux for promqltests (#16968) 2020-02-21 14:23:16 -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 16fc8dfecd
build: remove -tags libflux and FLUX_PARSER_TYPE from build and circleci config (#16883)
Also, update to latest algo-w flux
2020-02-19 07:59:05 -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