Commit Graph

4084 Commits (537e031987f6d86ecc73c6112efc13ec6041e1aa)

Author SHA1 Message Date
Carol (Nichols || Goulding) 537e031987 fix: Upgrade croaring to get a performance fix
This release includes https://github.com/saulius/croaring-rs/pull/73 which
includes 6403d44cbe
which should hopefully fix some of the dynamic CPUID issues we're
seeing.
2021-07-28 09:25:01 -04:00
kodiakhq[bot] 7a389fc237
Merge pull request #2133 from influxdata/kafkasink
feat(iox): Quick&Dirty KafkaProducer sink implementation
2021-07-28 08:20:12 +00:00
Marko Mikulicic ec0804900a
feat(iox): Quick&Dirty KafkaProducer sink implementation
RoutingRules such as RoutingConfig and ShardConfig use a sink to decide where to write
the entries.

The write buffer is currently implemented in the `db` and is accessed by using the `write_local_entry`
code path. This PR simply invokes that legacy code path whenever a "kafka" sink is selected.

This allows us immediately to benefit from the ability of the ShardingConfig to select or reject
tables and send some to kafka, some to devnull.

This PR does not allow us yet to split an input batch into mulitiple shards and send each
to a different kafka topic. For that, we'll need to pull out the write buffer code path out of
the `db` and do something similar to a ConnectionManager but for write buffers. TODO
2021-07-28 10:13:22 +02:00
Jacob Marble 4fdc9b2cab
feat: implement Arrow Flight handhake API (#2131)
* feat: implement Arrow Flight handhake API

* chore: satisfy clippy
2021-07-27 20:41:30 +00:00
kodiakhq[bot] 6759bffefe
Merge pull request #2130 from influxdata/dom/datatypes-serde
feat: DatabaseRules (de)serialisation support
2021-07-27 16:15:56 +00:00
kodiakhq[bot] a71c934e96
Merge branch 'main' into dom/datatypes-serde 2021-07-27 16:08:09 +00:00
Dom 7d3b6bf80d feat: DatabaseRules (de)serialisation support
Derives serde::Serialise & Deserialise for the DatabaseRules struct and
children.
2021-07-27 14:29:26 +01:00
Jacob Marble 657e769c8c
chore: add go_package to management protos (#2126) 2021-07-27 13:11:17 +00:00
Andrew Lamb 3ea84c6be4
feat: expose null_counts in system.chunk_columns (#2105)
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
2021-07-27 11:05:23 +00:00
kodiakhq[bot] 201aead49d
Merge pull request #2120 from influxdata/devnull
feat: Add '/dev/null' sink
2021-07-27 10:04:15 +00:00
kodiakhq[bot] 5551dd3a87
Merge branch 'main' into devnull 2021-07-27 09:57:16 +00:00
kodiakhq[bot] 225650b98c
Merge pull request #2110 from influxdata/crepererum/improve_replay_tests
refactor: isolate replay code and improve tests
2021-07-27 07:34:47 +00:00
kodiakhq[bot] 119b913fa3
Merge branch 'main' into crepererum/improve_replay_tests 2021-07-27 07:27:58 +00:00
Andrew Lamb 7415fa0d05
fix: Convert panic --> `warn` on statistics mismatch (#2125) 2021-07-26 22:11:10 +00:00
kodiakhq[bot] 6ae1ba57b9
Merge pull request #2106 from influxdata/jg/shorter-metrics-test-failures
test: Improve formatting of failures from the metrics AssertionBuilder
2021-07-26 20:34:16 +00:00
kodiakhq[bot] 57ef52073f
Merge branch 'main' into jg/shorter-metrics-test-failures 2021-07-26 20:27:02 +00:00
Andrew Lamb 5fb3e00f2a
fix: Properly record total_count and null_count in statistics (#2103)
* fix: Properly record total_count and null_count in statistics

* fix: fix statistics calculation in mutable_buffer

* refactor: expose null counts in read_buffer

* refactor: expose null_count in parquet_file

* fix: update server crate tests

* fix: update query_tests tests

* docs: tweak comments

* refactor: Use storage_stats rather than adding `null_count`

* refactor: rename test data field for clarity

* fix: fixup merge conflicts

* refactor: rename initial_non_null_count to initial_total_count

* refactor: caculate null_count as row_count - to_add
2021-07-26 18:13:36 +00:00
kodiakhq[bot] b6583f2edf
Merge pull request #2116 from influxdata/removedeprecated
refactor: Remove deprecated target field in RoutingConfig
2021-07-26 17:42:20 +00:00
kodiakhq[bot] fef67309bf
Merge branch 'main' into removedeprecated 2021-07-26 17:34:51 +00:00
Marko Mikulicic 094945a72d
feat: Add '/dev/null' sink 2021-07-26 19:19:11 +02:00
kodiakhq[bot] 6b9d180ebc
Merge pull request #2119 from influxdata/er/chore/roaringivy
chore: target architecture with avx2
2021-07-26 16:52:24 +00:00
Edd Robinson 6528cab16f
Merge branch 'main' into er/chore/roaringivy 2021-07-26 17:38:18 +01:00
Edd Robinson fd29d5ae05 chore: target architecture with avx2 2021-07-26 17:36:44 +01:00
kodiakhq[bot] d9e536bbe3
Merge pull request #2117 from influxdata/fixprintcpu
fix: Fix typo in print_cpu command name
2021-07-26 16:31:01 +00:00
Marko Mikulicic 16f867272d
fix: Fix typo in print_cpu command name 2021-07-26 17:55:52 +02:00
Marco Neumann d7e0b03064 refactor: use `drop` instead of `Option` 2021-07-26 17:43:03 +02:00
Marco Neumann 2d5a095d2d refactor: rename `ActionOrTest` to `Step` 2021-07-26 17:34:13 +02:00
Marco Neumann 5787fbdb21 refactor: rename framework tests 2021-07-26 17:32:46 +02:00
Marco Neumann aa61eb2732 refactor: improve replay test naming and add more docs 2021-07-26 17:31:13 +02:00
Marko Mikulicic 2478547ad7
refactor: Remove deprecated target field in RoutingConfig 2021-07-26 17:29:39 +02:00
Andrew Lamb 4def5bd816
chore: Add print_cpu command line to perf build (#2114)
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
2021-07-26 15:26:34 +00:00
Marco Neumann 43cb148566 fix: docstring
Co-authored-by: Andrew Lamb <alamb@influxdata.com>
2021-07-26 17:14:01 +02:00
Marco Neumann 43f29422f8 refactor: isolate replay code and improve tests
This puts all the replay logic under `server::db::replay` as well as its
error variants and tests.

The tests are reworked using a more generic
test framework which allows us to specify a number of steps instead of
filling pre-defined ones with variables. Each step is either an action
(e.g. restart DB, perform replay, ingest data into the write buffer
state) or a check (e.g. assert that these partitions exists, await until
the background workers has ingested these partitions). The entire
framework is kept generic so it should be easy to create more checks and
actions in the future. The resulting tests are more verbose, but (at
least in my opinion) easier to follow along since the reader can see
what's happening at which step and does not jump back and forth between
the test config and the "driver" that uses the config.
2021-07-26 17:14:01 +02:00
kodiakhq[bot] 9253749c95
Merge pull request #2086 from influxdata/cn/parquet-first-last
feat: Thread time_of_{first,last}_write through Parquet metadata
2021-07-26 15:07:30 +00:00
kodiakhq[bot] 009c77d864
Merge branch 'main' into cn/parquet-first-last 2021-07-26 14:59:54 +00:00
Carol (Nichols || Goulding) 0acb0efbc9 fix: Bump METADATA and TRANSACTION versions 2021-07-26 10:52:42 -04:00
Raphael Taylor-Davies 0b88deea43
refactor: don't pass sequence to MUB (#2107)
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
2021-07-26 14:40:39 +00:00
Carol (Nichols || Goulding) 5d9ad4bc31
docs: Fix description of parquet file time of first/last write
Co-authored-by: Andrew Lamb <alamb@influxdata.com>
2021-07-26 09:42:31 -04:00
Raphael Taylor-Davies 4f8b2fdb69
chore: remove unused module (#2102)
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
2021-07-26 11:02:20 +00:00
kodiakhq[bot] 427c5743f3
Merge pull request #2111 from influxdata/crepererum/issue2109
fix: fix flaky `test_unload_partition_chunk`
2021-07-26 10:09:13 +00:00
Marco Neumann c386ac013c fix: fix flaky `test_unload_partition_chunk`
Do not rely on the fact that the chunk ID is 1, because compaction and
other mechanisms might create chunks using different IDs.

Fixes #2109.
2021-07-26 12:01:28 +02:00
Marco Neumann ceacd6b4e7 test: return chunks from `wait_for[_exact_chunk]_state` 2021-07-26 11:57:36 +02:00
kodiakhq[bot] f361e344c3
Merge pull request #2100 from influxdata/sinks
refactor: Generailize routing sinks
2021-07-26 09:28:19 +00:00
Marko Mikulicic e5ee252876
feat: Add kafka sink variant 2021-07-26 11:08:02 +02:00
Marko Mikulicic d58a3ccbc7
refactor: Add sink to routing config
This deprecates the "target" field in the RoutingConfig and replaces it with the "sink"
field, which has a variant that accepts a node group.

This commit is backward compatible in that it will accept existing configs.
The configs will roundtrip to the new format though (i.e. `database get` will render
the sink field).
2021-07-26 11:08:01 +02:00
Marko Mikulicic 16a82ba350
refactor: Generailize sinks: Rename Shard to Sink
The ShardConfig applies matchers that resolve to a shard number.
The config then applies a mapping between shard numbers to targets.
The type that encapsulated the target that a shard points to was also called
a "Shard". This is confusing. This commit changes it to "Sink", i.e. a destination
for traffic to go to. Subsequent commits will expand the definition of a Sink to
encompass different kinds of sinks (like kafka write buffer, "devnull", ...)

This changes only the name of the protobuf message and the related rust types,
it doesn't change any name of the json-rendered protobuf configs.
2021-07-26 11:08:00 +02:00
Andrew Lamb 9d408296d8
chore: Update datafusion deps (#2108)
* chore: Update datafusion deps

* chore: update other deps

Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
2021-07-23 21:24:01 +00:00
Raphael Taylor-Davies c595039c81
feat: add row timestamp metrics (#2101)
* feat: add row timestamp metrics

* chore: review feedback
2021-07-23 19:17:11 +00:00
Jake Goulding da401c07bc test: use the pretty-print output when the AssertionBuilder fails
Had to rename the enum variants to avoid a Clippy warning, now that
the enum has a longer name.
2021-07-23 14:36:30 -04:00
Jake Goulding 3c94f89da3 test: Don't output the entire metrics blob on failure
Instead, opt-in to the output with the `METRICS_DETAILED_OUTPUT`
environment variable.
2021-07-23 14:20:05 -04:00