Commit Graph

11395 Commits (d4486bef3e3a6d1cd9d066c0cb0b01a03000165e)

Author SHA1 Message Date
Dom ece8641767
Merge pull request #7220 from influxdata/dom/wal-ref-metrics
feat(wal): reference tracker metrics
2023-03-16 10:44:26 +00:00
Dom 8f933ba1e5
Merge branch 'main' into dom/wal-ref-metrics 2023-03-16 10:37:23 +00:00
Andrew Lamb c819d4f865
feat(flightsql): Implement `GetDbSchemas` metadata API (#7213)
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
2023-03-16 10:13:51 +00:00
Dom 17e61126a3
Merge branch 'main' into dom/wal-ref-metrics 2023-03-16 10:05:23 +00:00
dependabot[bot] 6bfae7bb52
chore(deps): Bump predicates from 2.1.5 to 3.0.1 (#7229)
* chore(deps): Bump predicates from 2.1.5 to 3.0.1

Bumps [predicates](https://github.com/assert-rs/predicates-rs) from 2.1.5 to 3.0.1.
- [Release notes](https://github.com/assert-rs/predicates-rs/releases)
- [Changelog](https://github.com/assert-rs/predicates-rs/blob/master/CHANGELOG.md)
- [Commits](https://github.com/assert-rs/predicates-rs/compare/v2.1.5...v3.0.1)

---
updated-dependencies:
- dependency-name: predicates
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

* chore: Run cargo hakari tasks

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: CircleCI[bot] <circleci@influxdata.com>
2023-03-16 09:23:02 +00:00
Marco Neumann f128539f98
feat: more projection pushdown (#7218)
* feat: proj->proj pushdown

For #6098.

* feat: proj->SortPreservingMergeExec pushdown

For #6098.

---------

Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
2023-03-16 08:59:48 +00:00
dependabot[bot] 2dde0658c6
chore(deps): Bump assert_cmd from 2.0.8 to 2.0.9 (#7228)
* chore(deps): Bump assert_cmd from 2.0.8 to 2.0.9

Bumps [assert_cmd](https://github.com/assert-rs/assert_cmd) from 2.0.8 to 2.0.9.
- [Release notes](https://github.com/assert-rs/assert_cmd/releases)
- [Changelog](https://github.com/assert-rs/assert_cmd/blob/master/CHANGELOG.md)
- [Commits](https://github.com/assert-rs/assert_cmd/compare/v2.0.8...v2.0.9)

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

Signed-off-by: dependabot[bot] <support@github.com>

* chore: Run cargo hakari tasks

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: CircleCI[bot] <circleci@influxdata.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
2023-03-16 08:52:27 +00:00
Marco Neumann 3a31f41c2c
refactor: use arrow schema in `chunks_to_physical_nodes` (#7217)
We don't need a validated IOx schema in this method. This will simplify
some work on #6098.

Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
2023-03-16 08:45:14 +00:00
Andrew Lamb 6d6fd8f663
feat(flightsql): implement basic `CommandGetCatalogs` support (#7212)
* refactor: reduce redundancy in test

* chore: implement basic get_catalog support

* fix: clippy
2023-03-15 21:52:59 +00:00
Carol (Nichols || Goulding) c9bfcb4501
test: Actually make this test a different case, oops 2023-03-15 17:10:10 -04:00
Carol (Nichols || Goulding) 6fd910a091
fix: Make really really sure this test hits the timeout 2023-03-15 17:06:58 -04:00
Marco Neumann 393de6980e
feat: debug-log errors during chunk extraction (#7223)
Helps debugging while working on #6098 .
2023-03-15 18:55:33 +00:00
Carol (Nichols || Goulding) 413635d25a
feat: Don't add a partition to skipped_compactions if it makes progress
If a partition takes longer than `partition_timeout` to compact, but it
did make _some_ progress, let the compactor try that partition again at
a later time so that compaction for the partition will eventually
complete.

If a partition times out and _no_ progress has been made, then still add
it to the skipped_compactions table because it's either too big to ever
compact or is otherwise stuck.

Closes influxdata/idpe#17234.
2023-03-15 14:04:08 -04:00
Fraser Savage 8529e9551f
Merge branch 'main' into dom/wal-ref-metrics 2023-03-15 17:54:01 +00:00
Fraser Savage 2817e1adb4
Merge pull request #7222 from influxdata/savage/demote-level-of-expected-table-not-found-log
chore(ingester2): Log well-known query errors at debug
2023-03-15 17:50:49 +00:00
Fraser Savage e2582acac3
Merge branch 'main' into savage/demote-level-of-expected-table-not-found-log 2023-03-15 17:06:13 +00:00
Fraser Savage 3c97cb31a3
chore(ingester2): Simplify err match arm variable capture 2023-03-15 16:39:39 +00:00
Christopher M. Wolff afb571a502
feat: implement gap fill with previous value (#7182)
* feat: implement gap fill with previous value

* test: update fill prev test to include null value

---------

Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
2023-03-15 15:54:59 +00:00
Fraser Savage 882d087dd5
chore(ingester2): Log well-known query error at dbg
When the ingester handles a query for a table/namespace
that has been persisted and the data is not in the
buffer it logs at error level that the table/namespace
could not be found. This is a valid state and an
expected error (the data can be queried from object
storage), so we can make this less noisy.
2023-03-15 15:41:34 +00:00
Dom Dwyer 5e94aee44a
feat(wal): reference tracker metrics
Adds three metrics to expose the internal state of the WAL file
reference tracker.

These metrics are mainly useful to identify why WAL files are not being
deleted, if any.
2023-03-15 15:55:15 +01:00
kodiakhq[bot] a01abb6f69
Merge pull request #7209 from influxdata/dom/wal-refs
feat(wal): segment file reference counting
2023-03-15 14:40:40 +00:00
kodiakhq[bot] 9330527f61
Merge branch 'main' into dom/wal-refs 2023-03-15 14:33:51 +00:00
kodiakhq[bot] 1e129c1793
Merge pull request #7219 from influxdata/dom/metric-assert-scope
refactor(metric): assert macro import scopes
2023-03-15 14:33:36 +00:00
kodiakhq[bot] afb3f768cf
Merge branch 'main' into dom/metric-assert-scope 2023-03-15 14:26:11 +00:00
Dom 98daccc463
Merge branch 'main' into dom/wal-refs 2023-03-15 14:24:30 +00:00
Dom 84a5f291ee
docs: use correct var name
Co-authored-by: Fraser Savage <fraser@savage.engineer>
2023-03-15 14:24:19 +00:00
Nga Tran 1832f682e4
test: compaction output of common use cases (#7211)
* test: common comapctor use cases

* test: add 3 L0 files during last comapction

* chore: clearer comments

* test: add intermediate test results per review request

* chore: comment only change to trigger circle CI

* chore: Apply suggestions from code review

Co-authored-by: Andrew Lamb <alamb@influxdata.com>

* test: add test with less ingested data and fix output after main merge

* chore: run format after pulling suggestions

---------

Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
Co-authored-by: Andrew Lamb <alamb@influxdata.com>
2023-03-15 14:22:07 +00:00
Dom Dwyer 45c8519a0b
refactor(metric): assert macro import scopes
The assert_counter! and assert_histogram! macros use items in the metric
crate, but the macros can be called from other crates/modules that may
not have those items in scope.
2023-03-15 15:10:37 +01:00
Andrew Lamb 35bd5ccd13
chore: Update datafusion pin (#7207)
* chore: Update datafusion pin

* chore: Run cargo hakari tasks

---------

Co-authored-by: CircleCI[bot] <circleci@influxdata.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
2023-03-15 11:35:15 +00:00
dependabot[bot] f752e7993d
chore(deps): Bump bitflags from 1.3.2 to 2.0.0 (#7215)
* chore(deps): Bump bitflags from 1.3.2 to 2.0.0

Bumps [bitflags](https://github.com/bitflags/bitflags) from 1.3.2 to 2.0.0.
- [Release notes](https://github.com/bitflags/bitflags/releases)
- [Changelog](https://github.com/bitflags/bitflags/blob/main/CHANGELOG.md)
- [Commits](https://github.com/bitflags/bitflags/compare/1.3.2...2.0.0)

---
updated-dependencies:
- dependency-name: bitflags
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

* chore: Run cargo hakari tasks

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: CircleCI[bot] <circleci@influxdata.com>
Co-authored-by: Andrew Lamb <alamb@influxdata.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
2023-03-15 11:28:05 +00:00
Carol (Nichols || Goulding) 493f331e4b
fix: Remove the max_compact_size knob and hardcode a multiple (#7197)
* fix: Remove the max_compact_size knob and hardcode a multiple

Rather than panic if the user hasn't set this knob in a particular way,
set the max_compact_size to the minimum value we need by multiplying
max_desired_file_size_bytes by MIN_COMPACT_SIZE_MULTIPLE.

Fixes influxdata/idpe#17259.

* refactor: Move computation of max_compact_size_bytes into compactor config

* test: change test setups to reflect the purposes of the tests

---------

Co-authored-by: NGA-TRAN <nga-tran@live.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
2023-03-15 11:21:28 +00:00
dependabot[bot] 9ef32b682c
chore(deps): Bump serde from 1.0.155 to 1.0.156 (#7214)
Bumps [serde](https://github.com/serde-rs/serde) from 1.0.155 to 1.0.156.
- [Release notes](https://github.com/serde-rs/serde/releases)
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.155...v1.0.156)

---
updated-dependencies:
- dependency-name: serde
  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-03-15 07:14:27 -04:00
Nga Tran ad9e3bd1ef
feat: further split the smallest possible set to compact but too large to do so (#7180)
* test: add a panic limit_files_to_compact function to it is used in the right way

* test: provide correct output to the tests

* chore: remove no-longer valid comments

* feat: have the function limit_files_to_compact to also return files_to_further_split if the minimum set to compact is too large to do so

* refactor: rename files_to_split to start_level_files_to_split

* refactor: rename identify_files_to_split to identify_start_level_files_to_split before adding new split function

* feat: split 2 files of minimum set of compacting files if they are over max compact size

* test: since now we may split files in different levels, let us remove the missleading at level from the simulation tests

* chore: clearer comments

* test: add tests for tiny time ranges

* chore: address review comments
2023-03-14 20:08:58 +00:00
Dom Dwyer bef29a6837
feat(wal): segement file reference counting
Reference count rotated WAL segment files, tracking the number of
unpersisted operations in each and deleting the file once all the data
within them has been persisted to object storage.

This commit contains the implementation of the reference counting logic,
and is currently unused. A follow-up PR will wire this into the various
places needed to feed it the necessary information.

Part of https://github.com/influxdata/influxdb_iox/issues/6566.
2023-03-14 17:29:32 +01:00
Dom Dwyer f5c50094ca
refactor: owned persisted SequenceNumberSet copy
Allow an owned SequenceNumberSet to be destructured from an owned
CompletedPersist notification.

Additionally allow an owned SequenceNumberSet to be obtained from a
(potentially) shared Arc<CompletedPersist> in a memory efficient / no
cloning way. A CompletedPersist notification is typically wrapped in an
Arc, and at time of writing, typically referenced only once.
2023-03-14 17:29:16 +01:00
Dom Dwyer d9ca8f948a
refactor(wal): const SegmentId constructor
Allow a SegmentId to be constructed in a const context.
2023-03-14 17:29:15 +01:00
Christopher M. Wolff 570c61f9a7
refactor: formalize abstraction for building gap filled columns (#7179)
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
2023-03-14 15:14:02 +00:00
Nga Tran 84a0b9acbe
refactor: Make the filter name reflect what excatly it does (#7199)
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
2023-03-14 13:43:34 +00:00
Marco Neumann bdfab5fb64
chore: opt-in for sparse registry protocol (#7206)
Faster registry updates for our developers and the CI/CD pipeline.

See <https://blog.rust-lang.org/2023/03/09/Rust-1.68.0.html#cargos-sparse-protocol>.
2023-03-14 13:09:13 +00:00
dependabot[bot] ca40177695
chore(deps): Bump mockito from 0.32.5 to 1.0.0 (#7200)
Bumps [mockito](https://github.com/lipanski/mockito) from 0.32.5 to 1.0.0.
- [Release notes](https://github.com/lipanski/mockito/releases)
- [Commits](https://github.com/lipanski/mockito/compare/0.32.5...1.0.0)

---
updated-dependencies:
- dependency-name: mockito
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
2023-03-14 10:58:43 +00:00
dependabot[bot] 5fa88746d3
chore(deps): Bump nu-ansi-term from 0.46.0 to 0.47.0 (#7201)
Bumps [nu-ansi-term](https://github.com/nushell/nu-ansi-term) from 0.46.0 to 0.47.0.
- [Release notes](https://github.com/nushell/nu-ansi-term/releases)
- [Changelog](https://github.com/nushell/nu-ansi-term/blob/main/CHANGELOG.md)
- [Commits](https://github.com/nushell/nu-ansi-term/compare/v0.46.0...v0.47.0)

---
updated-dependencies:
- dependency-name: nu-ansi-term
  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>
Co-authored-by: Dom <dom@itsallbroken.com>
2023-03-14 10:52:00 +00:00
dependabot[bot] 86ddf893b1
chore(deps): Bump bitflags from 1.3.2 to 2.0.0 (#7202)
* chore(deps): Bump bitflags from 1.3.2 to 2.0.0

Bumps [bitflags](https://github.com/bitflags/bitflags) from 1.3.2 to 2.0.0.
- [Release notes](https://github.com/bitflags/bitflags/releases)
- [Changelog](https://github.com/bitflags/bitflags/blob/main/CHANGELOG.md)
- [Commits](https://github.com/bitflags/bitflags/compare/1.3.2...2.0.0)

---
updated-dependencies:
- dependency-name: bitflags
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

* chore: Run cargo hakari tasks

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: CircleCI[bot] <circleci@influxdata.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
2023-03-14 10:51:45 +00:00
Dom f775b6bbf5
Merge pull request #7203 from influxdata/dependabot/cargo/toml-0.7.3
chore(deps): Bump toml from 0.7.2 to 0.7.3
2023-03-14 10:43:49 +00:00
dependabot[bot] 6cc5961075
chore(deps): Bump toml from 0.7.2 to 0.7.3
Bumps [toml](https://github.com/toml-rs/toml) from 0.7.2 to 0.7.3.
- [Release notes](https://github.com/toml-rs/toml/releases)
- [Commits](https://github.com/toml-rs/toml/compare/toml-v0.7.2...toml-v0.7.3)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-03-14 02:06:04 +00:00
Andrew Lamb 0eb858c70d
chore: Update datafusion (#7167)
* chore: Update datafusion

* chore: Update datafusion

* refactor: use UserDefinedLogicalNodeCore

* fix: remove stray comment

* fix: clippy

* chore: Run cargo hakari tasks

---------

Co-authored-by: CircleCI[bot] <circleci@influxdata.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
2023-03-13 16:41:32 +00:00
Christopher M. Wolff ffab683ead
refactor: move trailing_gaps bit into cursor (#7178)
* refactor: push trailing_gap bit into cursor

* chore: clippy

---------

Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
2023-03-13 15:40:55 +00:00
Andrew Lamb a415a5b53a
chore: Update dependencies (to fix cargo_audit failures) (#7196)
* chore: Update dependencies

* chore: Run cargo hakari tasks

---------

Co-authored-by: CircleCI[bot] <circleci@influxdata.com>
2023-03-13 15:28:59 +00:00
Fraser Savage 78926490f9
docs: Update dml_handlers module docs (#7194)
Update the module diagram to reflect kafkaless
changes.

Co-authored-by: Dom <dom@itsallbroken.com>
2023-03-13 13:28:29 +00:00
Marco Neumann 737ea15d07
feat: projection pushdown phys. optimizer (#7161)
* feat: projection pushdown phys. optimizer

The is by far the largest pass (at least test-wise), because projections
are added last in the naive plan and you have to push them through
everything else. The actual code however isn't that complicated mostly
because we can reuse some DataFusion functionality and the different
variants for the different "child nodes" are very similar.

For #6098.

* feat: projection pushdown for `RecordBatchesExec`

* test: `test_ignore_when_partial_impure_projection_rename`

* test: more dedup projection tests

* test: integration
2023-03-13 12:59:45 +00:00
Andrew Lamb 3bb5347d4c
chore: Remove unused dependencies found with cargo-machete @alamb (#7183)
* chore: Remove unused dependencies found with cargo-machete

* chore: Remove unused dependencies

* fix: fixup

---------

Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
2023-03-13 11:06:53 +00:00