Commit Graph

1024 Commits (7c3b0a00e5cbf3332b18ddbccbc08755d5220bb2)

Author SHA1 Message Date
Andrew Lamb 0568452a0c
chore: Update datafusion (#2838)
* chore: update datafusion version

* refactor: Update to use new datafusion apis

* fix: do not upgrade other packages
2021-10-13 20:51:19 +00:00
Raphael Taylor-Davies d390dfa280
feat: rework delete predicate preservation as integration test (#2820)
* feat: rework delete predicate preservation as integration test

* chore: review feedback

* chore: fix lint
2021-10-13 10:40:17 +00:00
Andrew Lamb c31bcbced5
feat: Translate null in fields correctly to timeseries (Frames) (#2799)
* feat: Add gRPC frame dumping to trace output

* feat: Translate null in fields correctly to timeseries (Frames)

* refactor: reduce ceremony of iterating over data

* docs: Update src/influxdb_ioxd/rpc/storage/data.rs

* refactor: rename macro

* refactor: use .then()

* refactor: use try_for_each
2021-10-12 14:28:41 +00:00
Andrew Lamb 2072b4066e
feat: Implement support for `_measurement` predicate in gRPC plans (#2772)
* feat: Implement filtering for _measurement in general purpose gRPC plans

* docs: fixup docstrings

* fix: fmt

Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
2021-10-08 17:25:33 +00:00
Andrew Lamb ca38eafe20
refactor: Reduce string comparisons in gRPC expr tests (#2765)
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
2021-10-08 15:03:03 +00:00
Carol (Nichols || Goulding) ae7d893199 feat: Add UUID to databases
Connects to #2675.

When a database is created, assign it a UUID and serialize the UUID to
object storage by wrapping the database rules in a new
`PersistedDatabaseRules` type that also contains the UUID.

All APIs to the end user involving rules should continue using only
`DatabaseRules` so the UUID is an internal implementation detail.
2021-10-07 10:19:14 -04:00
Carol (Nichols || Goulding) 27e7a1f925 refactor: Organize use statements 2021-10-07 10:17:19 -04:00
Raphael Taylor-Davies fb9119fa4c
feat: remove serde from data types (#2652) 2021-10-07 08:58:06 +00:00
Marco Neumann 63d74be490 refactor: make `ChunkId` a UUID 2021-10-07 10:23:27 +02:00
Raphael Taylor-Davies ce5b24e65d
refactor: use DateTime<Utc> in PersistenceWindows (#2722) (#2743)
* refactor: use DateTime<Utc> in PersistenceWindows (#2722)

* chore: fix benchmark

* chore: fmt

* chore: review feedback
2021-10-06 09:39:32 +00:00
Andrew Lamb 785a62c114
fix: include all group tags, not just group_keys in GroupFrame response (#2741)
* fix: include all group tags, not just group_keys in GroupFrame response

* docs: fix test comments, add doc strings for group_description_to_frames

Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
2021-10-05 19:08:04 +00:00
Andrew Lamb bf73bba1dc
fix: Return `_field` and `_measurement` tags correctly for read_group (#2736)
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
2021-10-05 14:56:41 +00:00
Nga Tran 825ddaa34c chore: merge main to branch 2021-10-05 10:12:17 -04:00
Marco Neumann 1d18758075 refactor: fold `ParseDeletePredicate` into `DeletePredicate`
There is no reason to have yet another intermediate type. This also
makes the intermediate parsing functions private.
2021-10-05 09:29:25 +02:00
Nga Tran 80c4ba959d test: add negative tests for delete hhtp endpoints 2021-10-04 21:19:10 -04:00
Nga Tran ff8e037971 feat: handle delete response 2021-10-04 20:37:53 -04:00
Marco Neumann 5a5a929b9e refactor: introduce `DeletePredicate`
`DeletePredicate` is a simpler version of `Predicate` that is based on
IOx `DeleteExpr` instead of the full-blown DataFusion `Expr`. This will
allow us to do a couple of things (in follow-up changes):

- Order and de-duplicate delete predicates
- Normalize predicates
- Infallible serialization
- Smaller memory footprint

Note that this change only affects delete expressions. Query expressions
that are supported via the API are not changed. The query subsystem also
still uses the full-featured expressions/predicates (delete
expressions/predicates are converted to the more powerful DataFusion
version on-the-fly).
2021-10-04 16:36:20 +02:00
Marco Neumann bd39fae99d test: fix flaky `influxdb_ioxd::http::tests::test_delete` 2021-10-04 10:40:40 +02:00
Nga Tran 154dd4460e refactor: address review comments 2021-10-01 16:37:22 -04:00
Nga Tran bd22c73b8a chore: Merge branch 'main' into ntran/delete_endpoint 2021-10-01 13:33:39 -04:00
Andrew Lamb 134fb96b26
feat: add UInt64 support for gRPC query results (#2701) 2021-10-01 17:18:32 +00:00
Nga Tran ee94e9038a test: finalize codin up delete http endpoints and end-to-end tests 2021-10-01 12:15:00 -04:00
Nga Tran 53a45d89b7 feat: support HTTP Delete Endpoints 2021-09-30 18:09:17 -04:00
Andrew Lamb b38f16201c
refactor: remove spurious warning (#2662) 2021-09-29 15:50:26 +00:00
Carol (Nichols || Goulding) 92583aee82 fix: Remove streaming API since we're not streaming anyway 2021-09-29 08:19:32 -04:00
Raphael Taylor-Davies daa2ec2f4c
revert: "fix: Revert "feat: remove routerify (#2586)" (#2623)" (#2649)
This reverts commit 18941fcbff.
2021-09-28 14:42:17 +00:00
Raphael Taylor-Davies 46363c7893
feat: remove http tokio-tracing spans (#2648) 2021-09-28 12:49:59 +00:00
Carol (Nichols || Goulding) cf83a325f2
fix: Await on freeze handles instead of try_freeze/returning Transition errors (#2570)
* fix: Await on a freeze handle instead of returning TransitionInProgress

* fix: Await on freeze handle in skip_replay

Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
2021-09-26 10:44:59 +00:00
Edd Robinson 93fd3fa4bf refactor: tidy up debug CLI help 2021-09-24 22:24:48 +01:00
Andrew Lamb 18941fcbff
fix: Revert "feat: remove routerify (#2586)" (#2623)
This reverts commit 9fba7b0ba0.

Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
2021-09-24 09:50:24 +00:00
Raphael Taylor-Davies 92e6173f49
feat: implement jaeger-agent protocol directly (#2607)
* feat: implement jaeger-agent protocol directly

* chore: review feedback

* fix: remove jaeger feature flag
2021-09-22 17:30:37 +00:00
Andrew Lamb 675e0846bb feat: Add support to create new traces in IOx via JAEGER_DEBUG_HEADER 2021-09-22 08:43:42 -04:00
Andrew Lamb 4ed15976de
feat: Add support for custom tracing header name via JAEGER_TRACE_CONTEXT_HEADER_NAME (#2591)
* feat: Add support for custom tracing header name via JAEGER_TRACE_CONTEXT_HEADER_NAME

* test: end to end test

Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
2021-09-22 11:12:06 +00:00
Andrew Lamb d38648952c
chore: Update datafusion (#2602)
* chore: Update datafusion + other deps

* refactor: update query crate for new async interfaces

* refactor: update server crate for new async interface

* refactor: update query_tests crate for new async interfaces

* refactor: update ioxd and server to use new async interface

Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
2021-09-22 10:33:25 +00:00
Marco Neumann fb7299a169
fix: bubble up write errors (#2598)
Fixes #2538.

Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
2021-09-21 11:08:37 -04:00
Marco Neumann cef5aeee52 refactor: introduce `ChunkId` type 2021-09-20 13:10:41 +02:00
Raphael Taylor-Davies 9fba7b0ba0
feat: remove routerify (#2586)
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
2021-09-20 08:57:19 +00:00
Raphael Taylor-Davies 3ffb16daa6
feat: remove parse_duration (#2574)
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
2021-09-19 11:27:24 +00:00
Raphael Taylor-Davies 0ff2f9bb60
feat: alter http query endpoint (#2559)
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
2021-09-18 09:24:27 +00:00
Carol (Nichols || Goulding) ac9c25d33c fix: Use prettytable for detailed database output 2021-09-17 15:59:36 -04:00
Carol (Nichols || Goulding) 51a40b31bf feat: Add a --detailed option to the database list CLI
That will list both active and deleted databases with their generations.

Closes #2462.
2021-09-17 15:27:23 -04:00
kodiakhq[bot] 23cc980d9e
Merge branch 'main' into cn/restore 2021-09-17 17:52:56 +00:00
Raphael Taylor-Davies 37b615f301
feat: migrate operations CLI to use pbjson (#2562)
* feat: migrate operations CLI to use pbjson

* fix: reserve removed field

* chore: review feedback

Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
2021-09-16 19:15:24 +00:00
Raphael Taylor-Davies 9b3a13f984
feat: remove legacy http list partitions endpoint (#2557)
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
2021-09-16 16:56:20 +00:00
Marco Neumann ec943081c7 refactor: `Arc<Vec<...>>` => `Vec<Arc<...>>` for del predicates
The motivations are:

1. The API uses a SINGLE predicate and adds that to many chunks. With
   `Arc<Vec<...>>` you gain nothing, with `Vec<Arc<...>>` the predicate
   is only stored once (in many vectors)
2. While we currently add predicates blindly to all chunks, we can be way
   smarter in the future and prune out tables, partitions or even single
   chunks (based on statistics). With that, it will be rare that many
   chunks share the exact same set of predicates.
3. It would be nice if we could de-duplicate predicates when writing them
   to the preserved catalog without needing to repeat the pruning
   discussed in point 2. This is way easier to implement whan chunks
   exists in `Arc`s.
4. As a side-note: the `Arc<Vec<...>>` wasn't really cloned around but
   instead was created many time. So the new version should be more
   memory efficient out of the box.
2021-09-16 17:16:09 +02:00
Andrew Lamb ce224bd37f
fix: Capture query execution traces for storage gRPC queries as well (#2553)
* fix: Capture query execution traces for storage gRPC queries as well

* refactor: remove debugging droppings

* refactor: do not Box::pin within TracedStream

* refactor: Use Futures::TryStreamExt rather than custom collect function

* fix: remove wild println

Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
2021-09-16 14:45:20 +00:00
Carol (Nichols || Goulding) 91fd32d506 fix: Reset restored db's state instead of restarting background worker 2021-09-15 19:04:05 -04:00
Carol (Nichols || Goulding) 7b6d8f9327 feat: Add an API for restoring a database that was marked deleted 2021-09-15 16:59:37 -04:00
Raphael Taylor-Davies c66095cad1
feat: remove metrics crate (#2552) 2021-09-15 19:43:33 +00:00
Raphael Taylor-Davies 6e7fa3e574
feat: migrate http ingest metrics (#2542)
* feat: migrate http ingest metrics

* chore: review feedback

* refactor: RAII entry ingest recorder
2021-09-15 19:01:10 +00:00