Commit Graph

11770 Commits (c506d883818a6059760bab0fc6cdb6f29b125201)

Author SHA1 Message Date
Stuart Carnie c506d88381
chore: Use functions from `error` module 2023-04-18 06:24:24 +10:00
Stuart Carnie ad3e6aadea
Merge branch 'main' into sgc/issue/last_7538
# Conflicts:
#	iox_query_influxql/src/plan/planner.rs
2023-04-18 06:18:02 +10:00
Stuart Carnie 753f6aa85e
chore: Grammar 2023-04-18 06:02:06 +10:00
kodiakhq[bot] b9f9ce2a8e
Merge pull request #7561 from influxdata/cn/delete-tombstones
fix: Remove tombstone code that isn't functional currently
2023-04-17 14:11:08 +00:00
kodiakhq[bot] da96239605
Merge branch 'main' into cn/delete-tombstones 2023-04-17 13:59:49 +00:00
Marco Neumann 87ecdc5eaa
feat: InfluxQl `SHOW TAG KEYS` planner+exec (#7451)
Closes https://github.com/influxdata/idpe/issues/17363 .
2023-04-17 13:31:33 +00:00
Marco Neumann 808a13cf40
chore: remove `time` 0.1 & fix RUSTSEC-2020-0071 (#7568)
`time` 0.1 suffers from [RUSTSEC-2020-0071] and many upstream crates
have tried to remove it for years. The last dependency is

1. `chrono-english`
2. `chrono` (default features)
3. `chrono` (oldtime)
4. `time` 0.1

`chrono-english` doesn't seem to be super well maintained, but I
couldn't find a nice replacement for it. Luckily the master branch of
`chrono-english` is already fixed, so let's just directly use that.

[RUSTSEC-2020-0071]: https://rustsec.org/advisories/RUSTSEC-2020-0071

Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
2023-04-17 12:36:10 +00:00
Marco Neumann e7511c0f33
feat: basic InfluxQL `SHOW MEASUREMENTS` (#7504)
No WHERE-clauses hat result in actual data checks yet, just pure metdata
queries.

Ref https://github.com/influxdata/idpe/issues/17358 .
2023-04-17 11:28:01 +00:00
Marco Neumann bda9c07c0b
feat: basic InfluxQL `SHOW TAG KEYS` support (#7526)
- No `ON` clause
- No `WHERE` clause
- No time restriction yet
- No `FROM <db>.<retention>`

Ref https://github.com/influxdata/idpe/issues/17360 .

Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
2023-04-17 10:01:41 +00:00
Marco Neumann 1185ced87a
chore: deny unknown and copyleft licenses (#7556)
I just don't wanna rip out parts of our software stack because
someone gets cold feet.

Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
2023-04-17 08:08:48 +00:00
Stuart Carnie 4ef8daf498
chore: clippy 🔨 2023-04-17 12:09:04 +10:00
Stuart Carnie 3f4e38aa78
refactor: tidy up the implementation of the function_to_df_expr function
* Also fixes an issue that `FILL(<number>)` would fail when using the
  `struct_selector_<name>` functions
2023-04-16 10:04:53 +10:00
Stuart Carnie 252da2b75f
chore: add tests for the selector functions 2023-04-16 08:42:37 +10:00
Stuart Carnie 8f5f3b2057
chore: clarify comment 2023-04-16 08:36:59 +10:00
Stuart Carnie ccfd334834
chore: correct typo 🔨 2023-04-16 08:32:01 +10:00
Stuart Carnie acd6cff631
chore: validate single-selector with tags or fields is not implemented 2023-04-16 08:21:19 +10:00
Stuart Carnie 8274d584f5
chore: update all remaining code to use `error` and `error::map` module 2023-04-16 08:00:12 +10:00
Stuart Carnie 69d75745cc
feat: add limited `last`, `first`, `min` and `max` selector functions
Returns a `NotImplemented` error when attempting to execute a
selector query, which projects a single selector function and additional
tags or fields until #7533 is implemented.

Introduced `error` module to simplify error handling and ensure
consistency of error messages.
2023-04-16 07:59:28 +10:00
Stuart Carnie 03ea8ea2b8
feat: add `last` selector function
This does not complete the implementation, as we must still use the
timestamp of the `struct_selector_last` when the projection semantics
are selector
2023-04-15 13:54:42 +10:00
Stuart Carnie 007d5b90f3
chore: add APIs to find selector user-defined aggregate functions
This will be used to complete queries that have selector semantics,
meaning they project a single selector function and therefore
use the timestamp for the time column.
2023-04-15 13:54:42 +10:00
Stuart Carnie d11097cf18
chore: add APIs to find selector user-defined aggregate functions
This will be used to complete queries that have selector semantics,
meaning they project a single selector function and therefore
use the timestamp for the time column.
2023-04-15 13:54:42 +10:00
Stuart Carnie 42074e7a9d
chore: refactor and rename `validate_select`
This will be used to determine the semantics of the projection clause
2023-04-15 13:54:42 +10:00
Stuart Carnie 3529762726
chore: remove `println` 2023-04-15 13:54:42 +10:00
Andrew Lamb c26981d51b
chore: Update datafusion again (#7557)
* chore: Update datafusion again

* 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-04-14 17:37:00 +00:00
Carol (Nichols || Goulding) 5e6dbec909
fix: Remove tombstones as they aren't functional currently 2023-04-14 13:36:08 -04:00
kodiakhq[bot] e2b1acf1c0
Merge pull request #7560 from influxdata/cn/remove-obsolete-docs-infra
fix: Remove outdated documentation and infrastructure having to do with Kafka
2023-04-14 17:25:22 +00:00
Carol (Nichols || Goulding) 5f2d82fbc6
fix: Remove tombstones from querier; they're unused 2023-04-14 13:20:39 -04:00
kodiakhq[bot] bc3b69ef3f
Merge branch 'main' into cn/remove-obsolete-docs-infra 2023-04-14 17:14:45 +00:00
Carol (Nichols || Goulding) 8d3e285251
fix: Remove outdated documentation that discusses Kafka 2023-04-14 13:08:21 -04:00
Dom d55d41b174
Merge pull request #7559 from influxdata/dom/coalesce-partition-fetches
feat: coalesce partition catalog fetches
2023-04-14 17:02:21 +01:00
Dom 4cead9391d
Merge branch 'main' into dom/coalesce-partition-fetches 2023-04-14 16:55:59 +01:00
Dom Dwyer 395224407f
docs: clarify test comment
The mock will panic!
2023-04-14 17:54:10 +02:00
Dom Dwyer b333ddeab0
refactor: remove unwrapping, use nested match
It is simpler, and likely faster.
2023-04-14 17:51:39 +02:00
wiedld 42b5f6d517
Merge pull request #7550 from influxdata/idpe-17449/content-encoding-identity
fix(idpe-17449): content-encoding identity
2023-04-14 08:21:37 -07:00
wiedld a4d9e58e10
Merge branch 'main' into idpe-17449/content-encoding-identity 2023-04-14 08:14:35 -07:00
Dom Dwyer e6dc3bb72f
feat(ingester): coalesce partition fetch requests
Reduce N concurrent partition fetch requests for the same partition into
a single catalog query. This prevents multiple queries executing when
all but one result is thrown away.

This removes a potential request amplification when the catalog is
unavailable, where a number of queries for the same partition execute,
see an error, and retry forever (with backoff) until the catalog
recovers, while more catalog queries are started.
2023-04-14 16:29:01 +02:00
Dom Dwyer b32a21d093
refactor: request coalescing partition resolver
Implement a new PartitionResolver decorator that coalesces concurrent
requests to the inner PartitionResolver with minimal memory overhead.
2023-04-14 16:29:01 +02:00
Dom Dwyer 435499e9d7
refactor: resolve Arc-wrapped PartitionData
Changes the PartitionResolver trait to return a ref-counted
PartitionData instance, instead of a plain PartitionData (which is then
wrapped in an Arc anyway).

This allows resolver implementations to return multiple references to
the same physical instance.
2023-04-14 16:29:00 +02:00
Andrew Lamb f46d06d56f
chore: Update DataFusion + arrow ecosystem to 37 (#7544)
* chore: Update datafusion and arrow/parquet to 37, tonic to 0.9.1

* refactor: Update for FieldRef and other API changes

* fix: Update field size calculation

* fix: Use `NullBuffer` directly

* fix: remove outdated comment

* chore: Update test for tonic

* chore: Run cargo hakari tasks

* chore: cargo update

---------

Co-authored-by: CircleCI[bot] <circleci@influxdata.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
2023-04-14 12:43:01 +00:00
dependabot[bot] d578367341
chore(deps): Bump hyper from 0.14.25 to 0.14.26 (#7554)
Bumps [hyper](https://github.com/hyperium/hyper) from 0.14.25 to 0.14.26.
- [Release notes](https://github.com/hyperium/hyper/releases)
- [Changelog](https://github.com/hyperium/hyper/blob/v0.14.26/CHANGELOG.md)
- [Commits](https://github.com/hyperium/hyper/compare/v0.14.25...v0.14.26)

---
updated-dependencies:
- dependency-name: hyper
  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-14 10:22:21 +00:00
dependabot[bot] 567ce82df2
chore(deps): Bump assert_cmd from 2.0.10 to 2.0.11 (#7553)
Bumps [assert_cmd](https://github.com/assert-rs/assert_cmd) from 2.0.10 to 2.0.11.
- [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.10...v2.0.11)

---
updated-dependencies:
- dependency-name: assert_cmd
  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-14 09:42:31 +00:00
dependabot[bot] 072d685f94
chore(deps): Bump predicates from 3.0.2 to 3.0.3 (#7552)
Bumps [predicates](https://github.com/assert-rs/predicates-rs) from 3.0.2 to 3.0.3.
- [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/v3.0.2...v3.0.3)

---
updated-dependencies:
- dependency-name: predicates
  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-14 09:25:19 +00:00
dependabot[bot] 48d98cc30b
chore(deps): Bump clap from 4.2.1 to 4.2.2 (#7551)
Bumps [clap](https://github.com/clap-rs/clap) from 4.2.1 to 4.2.2.
- [Release notes](https://github.com/clap-rs/clap/releases)
- [Changelog](https://github.com/clap-rs/clap/blob/master/CHANGELOG.md)
- [Commits](https://github.com/clap-rs/clap/compare/v4.2.1...v4.2.2)

---
updated-dependencies:
- dependency-name: clap
  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-14 09:13:20 +00:00
wiedld ca492b09d2 fix(idpe-17449): accept content-encoding identity for the parseBody 2023-04-13 17:09:21 -07:00
wiedld b1d10671b9 fix(idpe-17449): accept content-encoding identity as a valid header 2023-04-13 17:07:56 -07:00
Chunchun Ye 69da3c2495
feat(flightsql): Support `GetCrossReference` metadata endpoint with an empty RecordBatch (#7548)
* feat: support CommandGetCrossReference metadata endpoint with tests

* chore: create two tables in the test for GetCrossReference endpoint

---------

Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
2023-04-13 19:53:37 +00:00
Chunchun Ye 5182ab0037
chore: add more test and logic to grpc database header names (#7529)
* chore: support returning the database name if all the keys refer to the same database

* test: add test cases to check for same, different, and no database in request header

* chore: lint

* chore: more lint

* refactor: replace empty string with None for database_name

* refactor: simplify logic for NoFlightSQLDatabase error

---------

Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
2023-04-13 18:28:29 +00:00
Chunchun Ye 8bf47df621
feat(flightsql): Support `GetImportedKeys` metadata endpoint with an empty RecordBatch (#7546)
* feat: support CommandGetImportedKeys metadata endpoint with tests

* chore: remove comments that is no longer valid

---------

Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
2023-04-13 18:06:47 +00:00
dependabot[bot] b4003a70fe
chore(deps): Bump h2 from 0.3.16 to 0.3.17 (#7547)
Bumps [h2](https://github.com/hyperium/h2) from 0.3.16 to 0.3.17.
- [Release notes](https://github.com/hyperium/h2/releases)
- [Changelog](https://github.com/hyperium/h2/blob/master/CHANGELOG.md)
- [Commits](https://github.com/hyperium/h2/compare/v0.3.16...v0.3.17)

---
updated-dependencies:
- dependency-name: h2
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-04-13 17:37:47 +00:00
Andrew Lamb 134ff2ef83
chore: update DataFusion pin (right before arrow 37 update) (#7540)
* chore: update DataFusion pin

* refactor: Update for deprecated API

* 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-04-13 17:25:24 +00:00