Commit Graph

11917 Commits (523fd0cabf73d712fb06011eebf7e76e391f9375)

Author SHA1 Message Date
wiedld 523fd0cabf
Merge pull request #7621 from influxdata/idpe-17434/namespace-validation-alignment
chore(idpe-17434): remove utf8-percent encoding from onWrite path
2023-04-25 09:52:50 -07:00
wiedld 3990dcd519
Merge branch 'main' into idpe-17434/namespace-validation-alignment 2023-04-25 09:41:45 -07:00
Phil Bracikowski 06fbab2649
fix(garbage collector): limit catalog update for files to delete (#7623)
* fix(garbage collector): limit catalog update for files to delete

Impose a 1000 LIMIT on flag_for_delete_by_retention so the garbage
collector's load on the catalog is limited. 1000 is used as the fixed
limit in another catalog DML.

* follow up to requests in #7562

* chore: add test for limit on update

---------

Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
2023-04-25 08:57:23 -07:00
Andrew Lamb 159a254ada
fix: Lower message about unsupported predicates on the ingester to debug level (#7655) 2023-04-25 10:46:03 -04:00
Dom 068da64c65
Merge pull request #7651 from influxdata/cn/partition-data
refactor: Extract commonly duplicated test code into helpers
2023-04-25 15:20:26 +01:00
Dom ba5de6b21d
Merge branch 'main' into cn/partition-data 2023-04-25 14:37:22 +01:00
Nga Tran b74a81e792
test: add tests on month and year date_bin (#7648)
* test: add tests on month and year date_bin

* fix: add IOX_COMPARE: uuid to get deterministics name for output parquet_file in the explain

---------

Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
2023-04-25 10:16:21 +00:00
Carol (Nichols || Goulding) 740269839d
fix: Extract test helper functions 2023-04-24 20:14:59 -04:00
wiedld 148c103c70
refactor: push authz into specific configs (#7607)
* refactor: move authz-addr flag into router-specific config

* refactor: move authz-addr flag into querier-specific config

* refactor: remove global AuthzConfig which is now redundant with the pushdown to individual configs. Keep constant the env vars used universally.

* chore: make errors lowercase, and use the required bool for the authz-addr flag

---------

Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
2023-04-25 00:14:28 +00:00
Carol (Nichols || Goulding) 2aaa431d5a
fix: You can't just call everything bananas, Dom
Remove the MockNamespaceNameProvider::default implementation that
hardcodes all namespace names to "bananas"; I just tore some of my hair
out trying to figure out why I was getting bananas WHEN THERE SHOULD
HAVE BEEN NO BANANAS
2023-04-24 20:13:54 -04:00
Carol (Nichols || Goulding) 38262f37cb
refactor: Take an Arc as an argument to be more consistent with similar types
NamespaceData::new doesn't take an Arc of the namespace name loader, but
PartitionData::new does. If they both take Arcs, then making test
constants and helpers they can share is easier. Same deal for
TableData::new.
2023-04-24 20:13:54 -04:00
wiedld b3cdea25ba chore: update term conventions to allowlist 2023-04-24 17:07:25 -07:00
Stuart Carnie 06bc2d6272
feat: Add `pre` and `post` visit events for `Literal` (#7629) 2023-04-24 21:15:44 +00:00
Joe-Blount ebf0b34523
feat: add compactor concurrency within single partition's plans (#7642)
* feat: trying to get concurrency within partition compaction

* feat: Create a stream then map and try collect

* feat: set compactor concurrency within single partition's plans

* chore: add log about plan concurrency

---------

Co-authored-by: Carol (Nichols || Goulding) <carol.nichols@gmail.com>
2023-04-24 20:48:35 +00:00
kodiakhq[bot] 446b55d5b5
Merge pull request #7639 from influxdata/cn/dml-meta
fix: In DmlMeta, only use SequenceNumber rather than Sequence (shard index plus seq num)
2023-04-24 19:12:53 +00:00
kodiakhq[bot] 77c1311c4d
Merge branch 'main' into cn/dml-meta 2023-04-24 19:05:46 +00:00
Christopher M. Wolff fe5fa3b3e8
fix: don't skip failed rules during logical planning (#7641)
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
2023-04-24 18:15:08 +00:00
Christopher M. Wolff 2d592a0295
feat: teach parser to allow arithmetic functions (#7620)
* feat: teach parser to allow arithmetic functions

* refactor: remove unnecessary lowercasing of fn names

---------

Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
2023-04-24 17:09:22 +00:00
Phil Bracikowski 8e7e22d167
chore(garbage collector): info logging for deleting parquet file (#7638)
* for influxdata/idpe#17451
* follow up to #7562
2023-04-24 16:57:18 +00:00
Carol (Nichols || Goulding) 7b7101b53f
fix: In DmlMeta, only use SequenceNumber rather than Sequence (shard index plus seq num) 2023-04-24 12:23:16 -04:00
kodiakhq[bot] 8b0f7b6c64
Merge pull request #7635 from influxdata/dom/wal-spawn-timeout
feat(ingester): blocked write load shedding
2023-04-24 14:55:25 +00:00
Dom b4b299f88d
Merge branch 'main' into dom/wal-spawn-timeout 2023-04-24 15:49:04 +01:00
kodiakhq[bot] 96916d121c
Merge pull request #7543 from influxdata/cn/remove-rpc-mode-env-var
fix: Remove uses and tests for RPC mode env var
2023-04-24 14:23:53 +00:00
Dom a8214a4474
Merge branch 'main' into dom/wal-spawn-timeout 2023-04-24 15:16:07 +01:00
Carol (Nichols || Goulding) 53196870a5
test: Remove shard variation from more tests 2023-04-24 10:08:01 -04:00
Carol (Nichols || Goulding) cf051e8091
fix: Remove iox catalog shard tests 2023-04-24 10:08:00 -04:00
Carol (Nichols || Goulding) 8f17d217fb
fix: Move an error condition earlier, before we try to do catalog work
If the command is going to fail anyway, may as well stop earlier
2023-04-24 10:08:00 -04:00
Carol (Nichols || Goulding) 24e6248706
fix: Update a compactor snapshot 2023-04-24 10:08:00 -04:00
Carol (Nichols || Goulding) 8d4c2bfabb
fix: Only ever create the transition shard in the in-memory catalog
Tests that use the in-memory catalog are creating different shards that
then creates old-style Parquet file paths, but in production, everything
uses the transition shard now. To make the tests more like production,
only ever create and use the transition shard, and stop checking for
different shard IDs.
2023-04-24 10:08:00 -04:00
Carol (Nichols || Goulding) 584d3ab0e7
fix: Set up the transition shard in the in-mem catalog 2023-04-24 10:08:00 -04:00
Carol (Nichols || Goulding) 5e01261a87
fix: Change the normalization regex to new path format 2023-04-24 10:08:00 -04:00
Carol (Nichols || Goulding) a9081fc8a8
fix: Remove uses and tests for RPC write env var 2023-04-24 10:00:09 -04:00
Marco Neumann 9730c52c8a
fix: InfluxQL output sorting (#7633)
* test: remove #7513 workarounds from `issue_6112.influxql`

* fix: `SHOW TAG VALUES` output sorting

* fix: `SHOW MEASUREMENTS` output sorting

* fix: `SHOW TAG KEYS` output sorting
2023-04-24 13:37:25 +00:00
Dom Dwyer 2769b52321
feat(ingester): blocked write load shedding
This commit bounds the duration of time a write may take to be processed
after being added to the WAL for increased reliability.

In ideal cases, anything that is added to the WAL is buffered /
completed to prevent WAL replay materialising writes that never
completed in the first place (#7111), but in some cases (i.e. catalog
outage, etc) the write becomes blocked, stuck in a retry loop or
otherwise never making progress.

When a write is blocked, the data within it remains in RAM, and the
overhead of the spawned task retrying also consumes CPU resources. If
all writes are blocked for sufficient time, these limitless writes keep
building up until a resource is exhausted (i.e. RAM -> OOM) causing an
outage of the ingester.

Instead, this change allocates a write at most 15 seconds to complete,
before it is cancelled and an error returned to the user (if they're
still connected) to shed load. The error message "buffer apply request
timeout" was chosen to be uniquely identifying - systems have lots of
timeouts!

Normally the inner.apply() call at this point completes in microseconds,
so 15 seconds is more than long enough to avoid shedding legitimate
load.
2023-04-24 13:53:40 +02:00
Marco Neumann f411f5d6d5
chore: update DF to `181e5ccf2816ccaa05d8aaef0b375d4b7bbceece` (#7630)
I need the following two PRs:

- https://github.com/apache/arrow-datafusion/pull/6045
- https://github.com/apache/arrow-datafusion/pull/6085

Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
2023-04-24 09:46:54 +00:00
Dom b7bb833af2
Merge pull request #7631 from influxdata/dependabot/cargo/regex-syntax-0.7.1
chore(deps): Bump regex-syntax from 0.6.29 to 0.7.1
2023-04-24 10:35:46 +01:00
dependabot[bot] 342795c006
chore(deps): Bump regex-syntax from 0.6.29 to 0.7.1
Bumps [regex-syntax](https://github.com/rust-lang/regex) from 0.6.29 to 0.7.1.
- [Release notes](https://github.com/rust-lang/regex/releases)
- [Changelog](https://github.com/rust-lang/regex/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rust-lang/regex/commits)

---
updated-dependencies:
- dependency-name: regex-syntax
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-04-24 09:28:49 +00:00
Dom 526a517b71
Merge pull request #7626 from influxdata/dependabot/cargo/tracing-subscriber-0.3.17
chore(deps): Bump tracing-subscriber from 0.3.16 to 0.3.17
2023-04-24 10:25:58 +01:00
dependabot[bot] 2d1902610f
chore(deps): Bump tracing-subscriber from 0.3.16 to 0.3.17
Bumps [tracing-subscriber](https://github.com/tokio-rs/tracing) from 0.3.16 to 0.3.17.
- [Release notes](https://github.com/tokio-rs/tracing/releases)
- [Commits](https://github.com/tokio-rs/tracing/compare/tracing-subscriber-0.3.16...tracing-subscriber-0.3.17)

---
updated-dependencies:
- dependency-name: tracing-subscriber
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-04-24 08:43:22 +00:00
dependabot[bot] d8ffb8a4df
chore(deps): Bump rustix from 0.37.13 to 0.37.14 (#7624)
Bumps [rustix](https://github.com/bytecodealliance/rustix) from 0.37.13 to 0.37.14.
- [Release notes](https://github.com/bytecodealliance/rustix/releases)
- [Commits](https://github.com/bytecodealliance/rustix/compare/v0.37.13...v0.37.14)

---
updated-dependencies:
- dependency-name: rustix
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-04-24 08:40:38 +00:00
dependabot[bot] 850d7f7011
chore(deps): Bump regex from 1.8.0 to 1.8.1 (#7627)
Bumps [regex](https://github.com/rust-lang/regex) from 1.8.0 to 1.8.1.
- [Release notes](https://github.com/rust-lang/regex/releases)
- [Changelog](https://github.com/rust-lang/regex/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rust-lang/regex/commits/1.8.1)

---
updated-dependencies:
- dependency-name: regex
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-04-24 08:25:26 +00:00
dependabot[bot] 5c2aaeeef9
chore(deps): Bump ordered-float from 3.6.0 to 3.7.0 (#7625)
Bumps [ordered-float](https://github.com/reem/rust-ordered-float) from 3.6.0 to 3.7.0.
- [Release notes](https://github.com/reem/rust-ordered-float/releases)
- [Commits](https://github.com/reem/rust-ordered-float/compare/v3.6.0...v3.7.0)

---
updated-dependencies:
- dependency-name: ordered-float
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-04-24 08:13:09 +00:00
wiedld daabe9663c chore(idpe-17434): make restrictive whitelist of chars accepted, for any NamespaceName 2023-04-21 16:36:00 -07:00
wiedld b870242ec7 chore(idpe-17434): remove utf8-percent encoding on v2 write path, such that it matches v1 writes and onCreate 2023-04-21 16:31:55 -07:00
Phil Bracikowski 02344af813
fix(garbage collector): decrease info msg; don't loop immediately (#7622)
* Don't print an info message for each deleted file. This can be 1000s
  at a time and many more in total.
* Even if there are more files to delete, sleep the interval to decrease
  catalog load.

* part of influxdata/idpe#17451
2023-04-21 23:14:33 +00:00
Phil Bracikowski 4afb2ba2ca
Merge pull request #7562 from influxdata/pjb-17451-gc-s3-connection-refused
fix(garbage_collector): delay initial s3 checker loop, fix dryrun
2023-04-21 13:47:11 -07:00
Phil Bracikowski a7e3bbe3ed chore: update doesn't support limit 2023-04-21 13:10:57 -07:00
Phil Bracikowski ec87f356db chore: rearrange for linter 2023-04-21 12:24:32 -07:00
Phil Bracikowski 420e3d0a70 chore: Merge branch 'main' into pjb-17451-gc-s3-connection-refused
* fix conflicts
2023-04-21 11:45:57 -07:00
Phil Bracikowski f0b9a0b315 chore: respond to pr feedback
* remove dry-run catalog method
* improve info and debug messages
2023-04-21 10:59:25 -07:00