Commit Graph

816 Commits (8a17e1c132a8fc807ffae699f6531385edf59cb2)

Author SHA1 Message Date
NGA-TRAN 8a17e1c132 refactor: address review comments 2022-01-19 11:20:20 -05:00
NGA-TRAN e8294d21ec fix: add .lock 2022-01-18 22:02:27 -05:00
NGA-TRAN b57f027e35 refactor: address review comments 2022-01-18 20:57:13 -05:00
NGA-TRAN 367a9fb812 fix: add workspace-hack 2022-01-18 18:10:42 -05:00
NGA-TRAN 125285ae9a feat: commit in order to pull and merge new commit from main 2022-01-18 16:11:25 -05:00
NGA-TRAN 23290fd2ff fix: new data structures suggested by reviewers 2022-01-18 14:04:07 -05:00
NGA-TRAN ef336b4659 feat: add ingester crate and a few basic data structures for its data lifecycle 2022-01-17 15:38:03 -05:00
kodiakhq[bot] 02d45bbae0
Merge branch 'main' into dom/delete-handler 2022-01-17 15:26:33 +00:00
Andrew Lamb 1843476651
chore: Update datafusion deps (#3471)
* chore: Update datafusion

* refactor: Update to use new Exec plan APIs

* fix: error message

* fix: fixup last bit

* fix: clippy

* fix: doclink

Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
2022-01-17 15:26:19 +00:00
Paul Dix d4d4b4c087 fix: workspace hack after adding iox_catalog crate 2022-01-17 10:04:24 -05:00
Dom aa6f118487 feat: iox_catalog sequencers (#3465)
* refactor: ensure sequencers are unique

Adds a unique constraint to ensure only one sequencer record exists for
each Kafka (topic, partition).

* test: use DSN from env for integration tests

Removes the hard-coded DSN, instead sourcing it from the DATABASE_URL
environment variable.

* docs: integration testing for iox_catalog

Documents the required steps in order to run the Postgres integration
tests for the iox_catalog crate.

* feat(iox_catalog): create & list sequencers

Adds support for interacting with the "sequencer" table.

* chore: update lockfile

Running cargo in iox_catalog generates a lockfile diff.
2022-01-17 10:00:31 -05:00
Dom 6f2e10cab6 feat(router2): implement delete API handler
Adds support for the HTTP v2 delete API endpoint.
2022-01-17 14:57:36 +00:00
Dom 885c831aff refactor: avoid constructing DmlOperation
Instead of converting the set of MutableBatches into a DmlOperation to
shard into more DmlOperation instances, the sharder can operate directly
on the MutableBatches.
2022-01-17 11:57:32 +00:00
Dom 40a290f6f7 feat: router2 HTTP handlers
Implements the HTTP v2 write API endpoint for router2.
2022-01-17 11:57:28 +00:00
Dom 80b12d417c feat: abstract DML handler
Defines the DmlHandler trait responsible for processing a request in
some abstract way, decoupling the HTTP/gRPC request handlers from the
underlying routing logic.
2022-01-17 11:56:04 +00:00
Marco Neumann c399e676ca chore: upgrade clap to v3 2022-01-17 12:12:46 +01:00
Raphael Taylor-Davies 89db894df4
fix: serde_json `arbitrary_precision` (#3458) (#3469)
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
2022-01-17 09:50:54 +00:00
Andrew Lamb dd23056efd
chore: update datafusion, arrow, prost, tonic, pbjson, etc (#3455)
* chore: update datafusion, arrow, prost, tonic, etc

* fix: update pprof as well

* chore: update hakari

* fix: update pbjson

* chore: update heappy

* fix: hakari

* fix: workaround https://github.com/influxdata/influxdb_iox/issues/3458

Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
2022-01-13 17:07:15 +00:00
Dom b9bee7f735 build: update workspace-hack 2022-01-12 15:09:06 +00:00
Dom a8cb8755de feat: new router2 crate
This commit adds an almost-empty router2 crate containing enough of a
skeleton to plumb into the IOx CLI/server runner.
2022-01-12 14:43:10 +00:00
Andrew Lamb 530240cb5a
chore: Update datafusion dependency (#3443) 2022-01-11 20:08:25 +00:00
Marco Neumann f3f6f335a9
chore: upgrade to snafu 0.7 (#3440) 2022-01-11 19:22:36 +00:00
Marco Neumann 37bb7f2120 chore: `cargo update`
dependabot currently doesn't work due to
https://github.com/dependabot/dependabot-core/issues/4574

Excluded `quote` due to
https://github.com/dtolnay/quote/issues/204
2022-01-11 14:57:51 +01:00
Carol (Nichols || Goulding) f9174c483b
refactor: Extract server::db into its own crate (#3417)
* refactor: Extract JobRegistry from the server crate

Both the server crate and a db crate that I'm about to extract depend on
JobRegistry, so to avoid making circular dependencies, extract the
JobRegistry to its own crate.

* refactor: Move db out of server into its own crate

Fixes #2821.
2021-12-23 22:01:17 +00:00
Andrew Lamb 527885f7f8
chore: Update datafusion (#3413)
* chore: Update datafusion and update code to handle timezone aware timestamps

* fix: cargo hakari

Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
2021-12-23 14:52:12 +00:00
Andrew Lamb ccba68fe3e
chore: Update datafusion and sqlparser, and arrow (#3385)
* chore: Update datafusion and sqlparser, and arrow

* fix: cargo hakari

* test: fix metadata size

* fix: update some metadata sizes

Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
2021-12-16 12:13:40 +00:00
Marko Mikulicic b0c6713bd7 fix: Don't swallow exit code when hakari test fails 2021-12-14 14:49:14 +01:00
Paul Dix 01e86a031e feat: add regex to bucket writers assignment in data generator
This adds the ability to specify a regex to match against database names when specifying what agents should write to which buckets in the data generator.

A default has also been added for ratio so that it doesn't need to be specified if only a single database writer is defined.
2021-12-09 13:39:33 -05:00
Marco Neumann 876a9af35a fix: limit number of S3 connections
Otherwise the whole thing blows up when starting a server that has many
DBs registerd, because we potentially create 1 connection per DB (e.g.
to read out the preserved catalog).

Fixes #3336.
2021-12-08 19:06:02 +01:00
Andrew Lamb 218042784f
feat: add `system.queries `system table (#3328)
* feat: Add query log and system table

* docs: Add docstrings for test normalization
2021-12-08 16:26:24 +00:00
Andrew Lamb 1156a81567
feat: Add pbjson serialization for storage rpc (#3324)
* feat: Add pbjson serialization for storage rpc

* chore: update pbjson-build to 0.1.1

Co-authored-by: Raphael Taylor-Davies <r.taylordavies@googlemail.com>
2021-12-07 16:39:16 +00:00
Carol (Nichols || Goulding) 7499eac067
fix: Disable uuid serde feature; we're not actually serializing any UUIDs
Connects to #3117.
2021-12-06 09:37:31 -05:00
Carol (Nichols || Goulding) a23695d470
fix: Remove unused generated_types dependency in iox_data_generator 2021-12-06 09:37:16 -05:00
Carol (Nichols || Goulding) 96afb9ffe9
fix: Remove unused tokio dev-dependency in mutable_buffers 2021-12-06 09:37:16 -05:00
Carol (Nichols || Goulding) e8d9e35321
fix: influxdb_iox tests need the json feature of reqwest
I think this didn't fail before because influxdb_iox used to use
influxdb2_client, which turned on the json feature. Then the workspace
hack crate also turned on the json feature, so when influxdb_iox stopped
using influxdb2_client, it *still* worked. But excluding the object
store crates from hakari analysis that also turned on the json feature
meant nothing turned it on anymore, so now influxdb_iox needs to turn it
on itself.
2021-12-06 09:37:15 -05:00
Carol (Nichols || Goulding) 76909b07e4
fix: Exclude optional object-store implementation crates from cargo-hakari
Aha! cargo-hakari turns on all features, but usually in development all
the specific object storage implementation crates are off.

Excluding them in the hakari config reduces the workspace crate a bit.

Connects to #3117.
2021-12-06 09:37:15 -05:00
Carol (Nichols || Goulding) 1b0a2eb7c7
fix: Specify nom features in the same way cexpr does
This removes nom from the workspace-hack crate. I'm not sure what's
going on here as cexpr is setting default-features false but then
explicitly setting the features to be the same as nom's default
features, and cargo-hakari seems to be resolving that differently than
using nom's default features. I think this might be a bug in
cargo-hakari, going to investigate.

Connects to #3117.
2021-12-06 09:37:14 -05:00
Carol (Nichols || Goulding) 6b940166fe
fix: Remove a deprecated memchr feature from the workspace crate
This was made possible by upgrading nom, which was using the deprecated
feature name. This will save us from pain in the future when the
deprecated feature is removed.

Unfortunately, this adds nom to the workspace hack crate, but we'll see
if it needs to stay there :)

Connects to #3117.
2021-12-06 09:37:14 -05:00
Carol (Nichols || Goulding) e4cc04612b
chore: Update bindgen, nom, cexpr, and related crates
Connects to #3117.

This gets rid of some duplicate versions of crates in our dependency
tree.
2021-12-06 09:37:14 -05:00
Carol (Nichols || Goulding) bd0a2b36e3
fix: Remove futures-util proc-macro features and update to futures-* 0.3.18
The `futures-util` crate's `proc-macro-hack` and `proc-macro-nested`
features used to be part of `futures-util`'s default feature sets, so
the workspace-hack crate listed them.

`futures-util` 0.3.18 removed those features entirely.

Cargo won't update to versions of crates that don't have features that
have been specified, so the workspace-hack crate was blocking Cargo from
updating `futures-util` and a few other crates to 0.3.18.

Cargo's docs recommend against removing features in semver-compatible
releases, but nothing really prevents crate authors from doing this.

Connects to #3117.
2021-12-06 09:37:14 -05:00
Carol (Nichols || Goulding) ddc1504135
fix: Exclude influxdb2_client from the workspace hack crate
This enables the removal of the futures and futures-io crates.

Connects to #3117.
2021-12-06 09:37:14 -05:00
Carol (Nichols || Goulding) 8ad2b5e9fd
fix: In end-to-end tests, use influxdb_iox_client instead of influxdb2_client 2021-12-06 09:37:14 -05:00
Carol (Nichols || Goulding) cf6286364e
fix: Exclude criterion from hakari analysis
Connects to #3117.

Criterion builds clap without default features, which causes clap to be
listed in the workspace hack crate with its default features. In
general, actually building criterion will be rare (and we should move
all benches to separate crates that can be excluded) so it should be
fine to rebuild clap when building benchmarks anyway.
2021-12-06 09:36:50 -05:00
Carol (Nichols || Goulding) 0fda9608d8
fix: Exclude optional pprof crate from workspace-hack 2021-12-06 09:36:32 -05:00
Edd Robinson 30bc8e5eba
Merge branch 'main' into dependabot/cargo/clap-2.34.0 2021-12-06 10:51:52 +00:00
dependabot[bot] 0b87c1e170
chore(deps): bump clap from 2.33.3 to 2.34.0
Bumps [clap](https://github.com/clap-rs/clap) from 2.33.3 to 2.34.0.
- [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/commits)

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

Signed-off-by: dependabot[bot] <support@github.com>
2021-12-06 09:07:47 +00:00
dependabot[bot] e3aa97f04a
chore(deps): bump tracing-subscriber from 0.3.2 to 0.3.3
Bumps [tracing-subscriber](https://github.com/tokio-rs/tracing) from 0.3.2 to 0.3.3.
- [Release notes](https://github.com/tokio-rs/tracing/releases)
- [Commits](https://github.com/tokio-rs/tracing/compare/tracing-subscriber-0.3.2...tracing-subscriber-0.3.3)

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

Signed-off-by: dependabot[bot] <support@github.com>
2021-12-06 09:07:40 +00:00
dependabot[bot] 472c91d520
chore(deps): bump reqwest from 0.11.6 to 0.11.7
Bumps [reqwest](https://github.com/seanmonstar/reqwest) from 0.11.6 to 0.11.7.
- [Release notes](https://github.com/seanmonstar/reqwest/releases)
- [Changelog](https://github.com/seanmonstar/reqwest/blob/master/CHANGELOG.md)
- [Commits](https://github.com/seanmonstar/reqwest/compare/v0.11.6...v0.11.7)

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

Signed-off-by: dependabot[bot] <support@github.com>
2021-12-06 08:55:14 +00:00
dependabot[bot] 99737ba379
chore(deps): bump libc from 0.2.108 to 0.2.109
Bumps [libc](https://github.com/rust-lang/libc) from 0.2.108 to 0.2.109.
- [Release notes](https://github.com/rust-lang/libc/releases)
- [Commits](https://github.com/rust-lang/libc/compare/0.2.108...0.2.109)

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

Signed-off-by: dependabot[bot] <support@github.com>
2021-12-06 08:42:04 +00:00
dependabot[bot] dd7d5cd7e3
chore(deps): bump handlebars from 4.1.5 to 4.1.6
Bumps [handlebars](https://github.com/sunng87/handlebars-rust) from 4.1.5 to 4.1.6.
- [Release notes](https://github.com/sunng87/handlebars-rust/releases)
- [Changelog](https://github.com/sunng87/handlebars-rust/blob/master/CHANGELOG.md)
- [Commits](https://github.com/sunng87/handlebars-rust/compare/v4.1.5...v4.1.6)

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

Signed-off-by: dependabot[bot] <support@github.com>
2021-12-06 08:31:22 +00:00