Commit Graph

6778 Commits (e6ec8ef5f345a9e3b91a414da154e256b6d35fe3)

Author SHA1 Message Date
Nga Tran 52866fe6a9
fix: merge record batches into one batch (#3535)
* fix: merge record batches into one batch

refactor: address review comments

* chore: update test output
2022-01-25 23:29:16 +00:00
Nga Tran d559561fd7
refactor: have the deduplicate work without chunk statistics (#3519)
* refactor: have the deduplicate work without chunk statistics

* test: more tests for duplicates data on different combinations of record batches

* refactor: address review comments
2022-01-25 17:00:25 +00:00
Dom b846ead320
feat(router2): shard writes/deletes into write buffer (#3499)
* feat: Sequencer wrapper

This type wraps an underlying WriteBufferWriter implementation, tagging
it with a sequencer ID it should use when enqueuing operations to the
buffer.

* feat: mock sharder

Implements a mock Sharder impl that returns pre-configured responses to
shard(), and captures the input to the call.

* feat: sharded write buffer

Implements sharding of ops into an underlying WriteBuffer.

Writes are sharded by some abstract Sharder impl, collated per shard to
maximise the size of each op (and therefore compression efficiency),
converted into a DML operation and then enqueued in parallel to the
underlying WriteBuffer implementation.

Deletes are modelled as being mapped to a single write buffer shard,
which is the case while we support sharding based on the table &
namespace only. Deletes will be extended to support (potentially)
multiple shards when column overrides are implemented.

* refactor: runtime write buffers

Switch from using static dispatch, to using a runtime specified
WriteBufferWriting implementation.

Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
2022-01-25 15:19:48 +00:00
kodiakhq[bot] 5ad6ca1fda
Merge pull request #3527 from influxdata/squash
chore: Set default to squash
2022-01-25 15:08:07 +00:00
Marko Mikulicic d0590104ff
chore: Set default to squash 2022-01-25 15:57:10 +01:00
Raphael Taylor-Davies db46ac04d0
feat: support line protocol precision parameter (#3522) (#3526)
* feat: support line protocol precision parameter (#3522)

* chore: format imports

Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
2022-01-25 14:12:22 +00:00
Andrew Lamb 51a0f8a56a
chore: temporarily hack around datafusion tempfiles (#3524) 2022-01-25 12:30:29 +00:00
Raphael Taylor-Davies 54ae5de9bf
feat: chunk pruning metrics (#3516)
Co-authored-by: Edd Robinson <me@edd.io>
2022-01-25 11:11:50 +00:00
kodiakhq[bot] 6287d7dc5c
Merge pull request #3514 from influxdata/ntran/ingest_compact
feat: ingester's compaction
2022-01-24 20:01:08 +00:00
NGA-TRAN f9c1e80a7f chore: update thread_local
chore: update thread_local
2022-01-24 13:37:52 -05:00
NGA-TRAN c6a195b0e6 refactor: address review comments 2022-01-24 13:05:44 -05:00
NGA-TRAN 797ba459b9 chore: merge main to branch 2022-01-24 12:06:23 -05:00
NGA-TRAN 5f98a07b7f chore: add Corgo.lock 2022-01-24 12:03:02 -05:00
NGA-TRAN 939ea536d4 feat: add but ignore a few compaction tests 2022-01-24 12:00:23 -05:00
kodiakhq[bot] 5eb2e8b7fe
Merge pull request #3506 from influxdata/pd/ingester-server
feat: Add scaffolding for ingester server
2022-01-24 17:00:00 +00:00
kodiakhq[bot] bf0bb3c643
Merge pull request #3505 from influxdata/pd/refactor-catalog-api
refactor: Clean up the Catalog API
2022-01-24 15:20:12 +00:00
NGA-TRAN ee0a468b4d feat: a few tests for compaction 2022-01-21 18:15:23 -05:00
Paul Dix bb893510a0 feat: Add scaffolding for ingester server
* Adds a new ingester command to start an ingester server
* Moves previous ingester server over to handler
* Skeleton for gRPC and HTTP handlers
2022-01-21 18:02:19 -05:00
NGA-TRAN fa41067e3d refactor: for paul 2022-01-21 16:50:49 -05:00
NGA-TRAN cd01b141f3 refactor: for paul 2022-01-21 16:49:02 -05:00
Paul Dix bfa54033bd refactor: Clean up the Catalog API
This updates the catalog API to make it easier to work with for consumers. I also found a bug in the MemCatalog implementation while refactoring the tests to work with the new API definition. Consumers will now be able to Arc wrap the catalog and use it across awaits.
2022-01-21 16:01:13 -05:00
Andrew Lamb 9615feacb3
fix(InfluxQL): Support RegEx with escape sequences not supported by Rust regex (#3502)
* fix(InfluxQL): Translate unsupported meta characters

* fix: remove debugging

* fix: clippy sacrifice

* docs: Add additional background and rationale for rewriting

* fix: doc link
2022-01-21 14:40:10 +00:00
kodiakhq[bot] 898e8e76bd
Merge pull request #3503 from influxdata/crepererum/span_linking
feat: simplify linking of spans
2022-01-21 09:33:49 +00:00
Marco Neumann 548cfabcda feat: simplify linking of spans
Linking of span contexts was introduced in #2803 but the high-level
interface was never used. This adds the missing bits to allow links to
be used with `Span` and `SpanRecorder`.
2022-01-21 10:21:40 +01:00
Marco Neumann 2f0e1b9d67 refactor: remove unused lifetime from `SpanRecorder` impls 2022-01-21 10:21:40 +01:00
NGA-TRAN 191adc9fc7 feat: initial implementation for ingester's compaction 2022-01-20 18:22:41 -05:00
kodiakhq[bot] 56abfba0f0
Merge pull request #3496 from influxdata/crepererum/wb_rskafka
feat: RSKafka-driven write buffer
2022-01-20 16:58:24 +00:00
kodiakhq[bot] 5b22abf6a2
Merge branch 'main' into crepererum/wb_rskafka 2022-01-20 16:48:10 +00:00
Andrew Lamb 9c19cd6cc4
fix: clamp start/end of TimestampRange to min/max valid timestamp values (#3487)
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
2022-01-20 16:08:00 +00:00
Andrew Lamb 9751301374
refactor: rename `storage_api.rs` end to end test to `influxrpc.rs` for consistency (#3497)
* refactor: rename `storage_api` end to end test to `influxrpc`  for consistency

* fix: fmt
2022-01-20 14:25:13 +00:00
Andrew Lamb f0d50f447a
fix: Special case tag_keys with max timestamp range (#3485)
* fix: Special case tag_keys with max timestamp range

* docs: comment

Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
2022-01-20 14:14:34 +00:00
Andrew Lamb 9b6e626626
chore: Update datafusion (and get fix for influxql test failure) (#3484)
* test: add tests for comparing dictionary arrays

* chore: update datafusion deps

* refactor: Update code for DataFusion API changes

* fix: update test

Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
2022-01-20 14:01:47 +00:00
kodiakhq[bot] 017e6bd115
Merge pull request #3488 from influxdata/dom/sharder
feat(router2): sharding abstraction & logic
2022-01-20 13:51:53 +00:00
kodiakhq[bot] cffd593e5c
Merge branch 'main' into dom/sharder 2022-01-20 13:41:07 +00:00
kodiakhq[bot] 66c07b1bf6
Merge pull request #3476 from influxdata/crepererum/dml_size
feat: add `size`  methods to DML-related types
2022-01-20 13:40:48 +00:00
Dom d63b35d2b5 refactor: remove redundant T: Ord bounds 2022-01-20 12:01:04 +00:00
Marco Neumann 76dd62a6c2 feat: RSKafka-driven write buffer 2022-01-20 12:36:10 +01:00
Dom d710ea48e1 test: hash bucket fixture test
Ensures mapping key K to bucket B remains stable.
2022-01-20 11:35:13 +00:00
Dom 36d50d083f feat: sharder trait & impl
This commit defines the Sharder trait that should allow us to implement
multiple sharding strategies over a defined set of input types (such as
a MutableBatch for writes, DeletePredicate for deletes, etc).

This commit also includes a jump hash implementation that consistently
shards (table name, namespace) tuples to a given shard for all input
types.
2022-01-20 11:10:37 +00:00
Dom 3122aec71a refactor: use static DatabaseName instances 2022-01-20 11:10:37 +00:00
Dom 2cd063698f refactor: API agnostic DML delete handler
Changes the DmlHandler::delete() trait method to accept required params,
and accept a DeletePredicate instead of a HttpDeleteRequest so that it
can be re-used in the gRPC handler.
2022-01-20 11:10:37 +00:00
kodiakhq[bot] 6c4d449db8
Merge branch 'main' into crepererum/dml_size 2022-01-20 10:44:48 +00:00
kodiakhq[bot] 362446b885
Merge pull request #3495 from influxdata/ntran/persist_merge_snapshots
refactor: add new fields and comments in ingest data buffer
2022-01-19 23:20:25 +00:00
NGA-TRAN 029f4bb41e fix: comment 2022-01-19 18:11:00 -05:00
NGA-TRAN dcf952bb27 chore: merge main to branch 2022-01-19 17:59:05 -05:00
NGA-TRAN 4ede10b3a0 refactor: add new fields and comments in ingest data buffer 2022-01-19 17:53:58 -05:00
kodiakhq[bot] df3db021d9
Merge pull request #3494 from influxdata/pd/kafka-get-by-name
feat: add get kafka_topic by name to catalog
2022-01-19 22:47:43 +00:00
Paul Dix bfc085c20d feat: add get kafka_topic by name to catalog 2022-01-19 17:32:23 -05:00
kodiakhq[bot] 33de1dc69a
Merge pull request #3493 from influxdata/pd/sequencer-get
feat: add sequencer get_by_kafka_topic_id_and_partition to catalog
2022-01-19 22:25:42 +00:00
Paul Dix 860e5a30ca refactor: update ingester to get sequencer record and not attempt to create 2022-01-19 17:15:10 -05:00