Commit Graph

50 Commits (86e81167b8a52113da8bada60e962da7b1573633)

Author SHA1 Message Date
WeblWabl 8eaa24d813
feat(tsm): Allow for deletion of series outside default rp ()
* feat(tsm): Allow for deletion of series outside default RP
9d116f6
This PR adds the ability for deletion of series that are outside
of the default retention policy. This updates InfluxQL to include changes
from: 

closes: 

* feat(tsm): Allow for deletion of series outside default RP
9d116f6
This PR adds the ability for deletion of series that are outside
of the default retention policy. This updates InfluxQL to include changes
from: 

closes: 
2024-09-17 16:34:14 -05:00
Jamie Strandboge f231da818f
chore: update golang.org/x/net to v0.23.0 (master-1.x) () 2024-04-19 12:13:08 -05:00
Brandon Pfeifer 44084c0f05
chore: upgrade go toolchain to 1.21.9 () 2024-04-12 14:48:57 -04:00
Jakub Bednář dbbe4611c0
build(deps): upgrade google.golang.org/protobuf to v1.33.0 (master-1.x) () 2024-03-26 14:07:28 +01:00
Geoffrey Wossum 8648298012
chore: upgrade to influxdata/influxql v1.2.0 ()
Upgrade to influxdata/influxql v1.2.0. While it does not fix any
known issues in InfluxDB OSS 1.x, it is necessary for upstream
projects impacted by https://github.com/influxdata/influxql/issues/65.

In addition to upgrading influxdata/influxql, this also updates test
cases that relied on the erroneous precision handling when stringifying
InfluxQL ASTs.

Visible impacts to InfluxDB OSS 1.x:
- Changes precision of floating point numbers in error messages
  related to InfluxQL
- Changes precision of floating point numbers in "EXPLAIN" and
  "EXPLAIN ANALYZE" output
- Changes precision of floating point numbers from InfluxQL
  expressions included in tracing spans

closes: 
2024-03-14 12:42:03 -05:00
Brandon Pfeifer a688bdcf02
chore: upgrade to go1.21.6 () 2024-03-05 12:07:40 -05:00
davidby-influx c05b340b72
chore: upgrade flux ()
* chore: upgrade flux

* chore: execute "go generate" inside cross-builder ()

---------

Co-authored-by: Brandon Pfeifer <bpfeifer@influxdata.com>
2024-01-19 17:40:48 -05:00
Geoffrey Wossum 7bd3f89d18
fix: prevent retention service creating orphaned shard files ()
* fix: prevent retention service creating orphaned shard files

Under certain circumstances, the retention service can fail to delete shards from
the store in a timely manner. When the shard groups are pruned based on age, this
leaves orphaned shard files on the disk. The retention service will then not attempt
to remove the obsolete shard files because the meta store does not know about them.
This can cause excessive disk space usage for some users.

This corrects that by requiring shards files be deleted before they can be removed
from the meta store.

fixes: 
2024-01-04 11:59:28 -06:00
alespour 5cbade5cd4
build(deps): upgrade flux to v0.194.4 ()
* chore: update Go to 1.20

* build(deps): upgrade flux to v0.194.4
2023-11-03 08:17:38 -04:00
Brandon Pfeifer 7f68cd1e31
chore: upgrade golang 1.19.10 -> 1.20.10 () 2023-10-12 12:46:14 -04:00
Brandon Pfeifer ab85be01a2
chore: upgrade flux to v0.194.3 () 2023-05-30 19:02:29 -04:00
Brandon Pfeifer f6c92680b0
chore: upgrade Flux v0.194.1 () 2023-04-19 15:55:56 -04:00
Jeffrey Smith II 90c15ffd60
fix(security): bump several dependencies to fix security issues () 2023-02-27 17:16:49 -05:00
Jeffrey Smith II e1e894d28c
chore: go mod tidy () 2023-02-01 11:30:59 -05:00
Brandon Pfeifer 5976e41d54
feat: upgrade flux to v0.188.0 ()
* feat: upgrade flux to 0.171.0

Tests failing, safety commit

First step in https://github.com/influxdata/influxdb/issues/23815

* fix: remove "org" parameter" from writeOptSource

I attempted to implement the "orgOpt" argument in a similar fashion
to f6669f7512. However, it looks like Flux doesn't accept "org" as
a parameter to "load". It responds with:

Error calling function \"load\" @113:16-113:30: error calling function \"to\" @6:19-6:47: unused arguments [org]

This brings us from 194 passing to 570 passing.

* fix: temporarily disable broken flux tests

These tests expect rows to be stored in a certain order. However,
nothing is specifying the sort order. This has been fixed in a
later update to flux: (see 3d6f47ded).

Temporarily disable these tests until we include a fixed
version of the flux tests.

* chore: add tests from a492993012

This fixes "test-flux.sh" so it runs tests within the "flux/"
directory. This uncovered some other issues with the tests
located within "flux/". These also needed to be updated
to match the newer flux API.

* feat: upgrade flux to 0.172.0

This includes changes made in "cbbf4b27da". Since "test.go" in 2.x
diverged from 1.x, some modifications were required to make this
compatible.

* feat: upgrade flux to 0.173.0

* feat: upgrade flux to v0.174.0

* fix: Update the condition when reseting cursor ()

Filters that contain `or` may change between cursor resets so we must remember to update the condition in the read cursor.

```flux
|> filter(fn: (r) => ((r["_field"] == "field1" and r["_value"]==true) or (r["_field"] == "field2" and r["_value"] == false)))
```

Closes https://github.com/influxdata/flux/issues/4804

* feat: upgrade flux to 0.174.1

* feat: upgrade flux to 0.175.0

* chore: remove end-to-end tests

These were removed in a492993 for 2.x. These tests prevent "go test ./..."
from completing. As stated in the original commit, these tests should now be
handled by the "fluxtest" harness.

* feat: upgrade flux to 0.176.0

Some tests needed to be disabled within the flux harness. This is a
result of enabling "Optimize Aggregate Window" in flux@05a1065f.
These tests are not present in 2.x. Therefore, I am unsure if
the breakage is resolved in a later commit.

* feat: upgrade flux to 0.177.0

* feat: upgrade flux to 0.178.0

* feat: upgrade flux to v0.179.0

This removes all invocations of "flux.RegisterOpSpec". According
to flux@e39096d5, "flux.RegisterOpSpec" does nothing in the
current version of flux and was removed.

* chore: update fluxtest skip list ()

* chore: manually backport 785a465e9a

This removes the reference to "flux.Spec".

* build(flux): update flux to v0.181.0 ()

* build(flux): update flux to v0.184.2

* chore: skip more Flux acceptance tests

There are issues for each skip detailed in test-flux.sh.

* feat: upgrade flux to v0.185.0

This adds "FluxTesting" to the "HTTPD" configuration. This option is
hidden and disabled by default. When "FluxTesting" is set, it
enables the default testing flags for "Flux".

These flags allow the "vectorized float tests" and tests requiring
the "removeRedundantSortNodes" and "labelPolymorphism" flag
enabled to work. These changes are based off of d8553c002e.

flux@3d6f47ded is included within this version of Flux. Therefore
we can now include the "group_*" tests.

* feat: upgrade flux to 0.186.0

* feat: upgrade flux to 0.187.0

* feat: upgrade flux to 0.188.0

* fix: re-run ./generate.sh with updated protoc

* fix: restrict cores to match CircleCI documentation

Co-authored-by: davidby-influx <dbyrne@influxdata.com>
Co-authored-by: Markus Westerlind <marwes91@gmail.com>
Co-authored-by: Sean Brickley <sean@wabr.io>
Co-authored-by: Jonathan A. Sternberg <jonathan@influxdata.com>
Co-authored-by: Christopher M. Wolff <chris.wolff@influxdata.com>
2022-11-15 15:20:27 -05:00
davidby-influx 521adbdcb4
chore: update flux to 0.170.1 ()
Last flux version before test framework change.
2022-06-23 12:11:20 -07:00
Jamie Strandboge df65c01ba2
chore: update yaml.v3 to 3.0.1 ()
$ go mod edit -require gopkg.in/yaml.v3@v3.0.1
$ go mod tidy
$ go test -v ./...
2022-06-01 12:33:46 -05:00
davidby-influx ef90bc830f
feat: estimate Cloud2 cardinality on 1.X databases ()
feat: estimate Cloud2 cardinality on 1.X databases

To ease migrations to Cloud 2 installations from
1.X databases, estimate Cloud 2 cardinality for
a data node (or OSS system).

closes https://github.com/influxdata/influxdb/issues/23356
2022-05-26 11:27:17 -07:00
Brandon Pfeifer 3074e62784
chore: upgrade flux to v1.167.0 for 1.x ()
* chore: backport 8334dd0a23 to 1.x

* chore: upgrade flux to v0.167.0

* chore: update flux to latest version ()

* chore: update flux to latest version

* fix: backport "convert allocator to interface"

* fix: construct `span` during dependency injection
2022-05-17 15:59:24 -04:00
Sam Arnold ba1c573115
chore: upgrade flux to v0.159.0 ()
* chore: upgrade flux to v0.159.0

* chore: skip flux database connection tests
2022-03-15 10:49:43 -04:00
Dane Strandboge b2984faef7
chore: upgrade Flux, restore `rules_test.go` ()
Upgrade Flux to v0.140.0
2021-11-25 08:13:46 -05:00
Dane Strandboge 449319a964
chore: upgrade `influx_tools` to new protobuf library () 2021-10-21 14:00:53 -05:00
Dane Strandboge 8b38d0e2bf
build: upgrade protobuf library () 2021-10-15 11:42:47 -05:00
Sam Arnold 611a4370a2
feat: show measurements database and retention policy wildcards ()
* feat: show measurements database and retention policy wildcards

Closes 

* chore: run formatter
2021-10-05 09:07:25 -04:00
Cody Shepherd 57c6f2e75d
fix: update flux dependency to v0.131.0 () 2021-09-30 11:46:32 -07:00
Sam Arnold 50d3bcad99
build: upgrade flux to 0.127.3 () 2021-09-02 14:21:56 -04:00
Cody Shepherd 37faac9755
chore: update flux dependency ()
* chore: update flux dependency

* chore: update changelog
2021-08-09 09:32:19 -07:00
Jonathan A. Sternberg 8fae484a66
feat: update flux components to use flux/array instead of arrow/array ()
This updates the flux integration to use the `flux/array` package rather
than directly using the `arrow/array` package.

Flux recently switched to wrapping the array types from arrow and
creating its own array package to be used for table columns instead of
directly referencing the arrow package. This allows us to keep a
consistent interface, but potentially change internal implementations
without changing downstream consumers. Most recently, the
`*array.String` type has some of its own optimizations for certain array
patterns.

This change updates the flux integration to use the new API.
2021-07-30 08:59:52 -04:00
Jamie Strandboge dec56f9c31
chore: use community maintained golang-jwt ()
The dgrijalva/jwt-go project is no longer maintained[1] and they have
transferred ownership to golang-jwt/jwt[2][3][4]. We should move to the
supported golang-jwt/jwt.

The following was performed:

1. update services/httpd/handler*.go to import golang-jwt/jwt
2. revert testcase string comparison changes from 225bcecd (back to v3)
2. go mod edit -require github.com/golang-jwt/jwt@v3.2.1+incompatible
3. go mod edit -droprequire github.com/dgrijalva/jwt-go
4. go mod tidy  # see note
5. go clean ./... && go build ./...
6. go test ./...

Note: 'go mod tidy' had unrelated changes (perhaps it wasn't run in
recent commits) so I removed the unrelated delta to keep this PR focused
on the dgrijalva/jwt-go to golang-jwt/jwt changes.

References:
[1] 
[2] 
[3] https://github.com/dgrijalva/jwt-go/blob/master/README.md
[4] https://github.com/golang-jwt/jwt
[5] https://github.com/influxdata/influxdb/issues/21926
2021-07-23 11:41:14 -05:00
Sam Arnold 23c3d35aab
chore: update protobuf library versions and remove influx_tsm ()
* chore: update protobufs

* fix: run codegen during build

* fix: fully remove influx_tsm
2021-07-20 09:42:52 -04:00
Sam Arnold 8ea5900ad6
chore: update flux to v0.120.1 () 2021-07-09 11:35:58 -04:00
Daniel Moran e74ece2c91
feat(flux): enable group > min/max pushdown ()
* build(flux): update flux to v0.113.0
* feat(query): enable min/max pushdown
* fix(query): fix the group last pushdown to use descending cursors
* test(storage): add read group test with no agg

Co-authored-by: Jonathan A. Sternberg <jonathan@influxdata.com>
Co-authored-by: Christopher M. Wolff <chris.wolff@influxdata.com>
Co-authored-by: Faith Chikwekwe <faithchikwekwe01@gmail.com>
2021-04-23 09:52:20 -04:00
Sam Arnold e97c5d9785
feat: flux upgrade to v0.112.1 () 2021-04-15 13:41:51 -04:00
Daniel Moran 31d4d742e8
refactor: rearrange flux-related storage code to match 2.x ()
And fix CircleCI config
2021-04-01 14:25:48 -04:00
Daniel Moran a2154f143c
feat(storage): add support for window aggregate queries ()
* feat: add cursors and readers for window aggregates
* fix: backport fix + tests for race condition in flux tag cache
* test: port 2.x test for array_cursor
2021-03-31 13:51:37 -04:00
Sam Arnold b9ee9e5b44
feat: add memory and concurrency limits in flux controller ()
* chore: pull in controller from 2.x

* chore: fix up 2.x controller to work with 1.x

* feat: Default query limits in flux code

Partial fix of https://github.com/influxdata/influxdb/issues/17212

* chore: update changelog

* chore: refactor to remove panic and reformat code
2021-03-30 15:02:46 -04:00
Sam Arnold 78724e5c20
chore: Add kit ()
* chore: pull in unchanged kit from v2

* chore: remove v2 from import paths

* chore: update module paths and go.mod for kit

* chore: remove kit/cli again, not needed in 1.x
2021-03-30 13:09:04 -04:00
Daniel Moran fbfd4b4651
test: add fluxtest harness ()
* test: add script to run flux tests
* feat(flux): enable test capabilities in Flux controller
* feat(flux): add MergeFiltersRule
* build: bump existing Dockerfiles to go 1.15
* build: add flux tests to CI
* refactor: allow for overriding tcp.Mux logger
* build: upgrade to Flux v0.111.0
2021-03-30 11:18:18 -04:00
Sam Arnold d1a5c06596
chore: Upgrade to go1.15.10 and flux 0.108.1 () 2021-03-22 14:11:53 -04:00
Sam Arnold 76777680b0
build: make windows and arm64 builds possible () 2021-03-22 11:47:08 -04:00
Sam Arnold 7210fa6355
chore: Upgrade 1.x to the latest flux ()
* chore: Update flux to 0.67

* chore: Builds against 0.68 flux

* chore: Builds against 0.80.0

* chore: Builds against 0.90.0

* chore: Everything builds on latest flux

* chore: goimports fixed

* chore: fix tests locally

* chore: fix CI dockerfiles

* chore: clean up some unused code

* chore: remove flux repl and Spec in flux query json

* chore: port flux end to end tests from 2.x

* chore: fix up goimports

* chore: remove 32 bit build support
2021-03-03 16:24:49 -05:00
Sam Arnold 17b9ea8723
feat: Add WITH KEY to show tag keys ()
* fix: Change from RewriteExpr to PartitionExpr

Also remove some dead code

* feat: WITH KEY implementation

* feat: query rewriting for WITH KEY in SHOW TAG KEYS
2021-02-25 08:38:29 -05:00
Ayan George 225bcecd73
fix: Upgrade version of jwt-go package to v4.0.0 ()
* fix: Upgrade version of jwt-go package to v4.0.0

This commit updates the dependencies for influxdb to require v4.0.0-preview1 of
the jwt-go package.  This required updating the go.mod and go.sum files as well
as any source file that directly imported that package.

Prior to this commit, the TestHandler_Query_Auth() tests would fail as it
checked for specific error strigns returned by the jwt-go package.

Version 4.0.0-preview1 of the package changed the verbiage of those errors a
bit.  This patch updates the test to detect the new error string.
2020-11-05 10:55:24 -05:00
Ayan George 1ffe13894d
chore: Use latest version of influxql package ()
This commit updates our influxql dependency to hash 65d3ef77.
2020-08-28 11:31:50 -04:00
Tristan Su 6910c53440
feat(prometheus): update prometheus remote protocol ()
Fetched up-to-date protocol from prometheus project
2020-07-08 07:12:52 -07:00
Jacob Marble 3f3b7b5160
chore: update some dependencies ()
Helps 

This change bumps a couple of dependencies to prepare for something like  which
updates many dependencies at once. Turns out that change is based on an
old commit, so several things have already been updated.

After this, we should do a separate commit to update prometheus per 
2020-07-06 14:34:55 -07:00
Jonathan A. Sternberg ac1e55ec37
build(flux): update Flux to v0.65.0 () 2020-04-06 10:20:24 -05:00
Jonathan A. Sternberg 8d3496f0a3
feat: add support for complex bound parameters
This updates influxql to a newer version that supports complex bound
parameters. This allows bound parameters to be used as identifiers,
regexes, and durations along with the already existing strings, numbers,
and booleans.

This updates the influxdb client to support passing bound parameters as
part of the parameters json and updates the readme to show how to use
this feature.
2020-03-12 12:26:22 -05:00
Jonathan A. Sternberg 636a27e77f
build(flux): update Flux to v0.64.0 2020-03-11 15:17:44 -05:00
Ayan George 35c07d0127
feat(modules): Use modules & remove Gopkg.*
* Add .mod and .sum files generated by go mod init

* Use a directory outside of $GOPATH for testing.

* Update docker files to use go 1.13.8 instead of 1.12 for most builds.

* Simplify go installation by piping from wget to tar.  This avoids
  having to do any cleanup.

* Build and test in a directory outside of GOPATH since we're using
  modules now.

* Update Jenkinsfile to build using modules by building directly inside
  of $WORKSPACE instead of in $GOPATH.

* Use go mod download instead of dep ensure to collect dependencies

* Remove Gopkg related data files.

* Replace calls to "dep ensure" with "go mod download"

* Replace check for being outside of $GOPATH to a check for being INSIDE
  of $GOPATH which is wrong when we're using modules

* Map $DIR to /root/influxdb in docker run command

* Clone source into /root/influxdb which is outside of our $GOPATH.

* run go mod tidy
2020-02-26 17:27:56 -05:00