Jake Goulding
69939a5ae2
perf: Don't open the output file each time we write.
...
This improves performance of the the file output mode, which should
make it easier to improve the performance of the core generation
logic.
Benchmarked via:
```
time \
./target/release/iox_data_generator \
--spec iox_data_generator/schemas/fully-supported.toml \
--output /tmp/out \
--start '1 month ago'
```
Before:
```
Submitted 271608 total points
real 10.912 10911567us
user 3.129 3129032us
sys 6.257 6257340us
cpu 86%
mem 7152 KiB
```
After:
```
Submitted 271588 total points
real 2.291 2291364us
user 1.969 1969357us
sys 0.058 58030us
cpu 88%
mem 7104 KiB
```
That's 21.0% of the previous time.
2021-09-16 10:57:59 -04: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
kodiakhq[bot]
ad4b8532bf
Merge pull request #2522 from influxdata/ntran/delete_read
...
feat: push delete predicate down to RUB and OS chunks to eliminate deleted data at query time
2021-09-16 13:31:32 +00:00
kodiakhq[bot]
33cd1cffad
Merge branch 'main' into ntran/delete_read
2021-09-16 13:22:50 +00:00
kodiakhq[bot]
b13fb3ea93
Merge pull request #2541 from influxdata/crepererum/time_tests
...
test: even more time-related lifting
2021-09-16 12:05:52 +00:00
kodiakhq[bot]
fb8a376a04
Merge branch 'main' into crepererum/time_tests
2021-09-16 11:57:42 +00:00
Andrew Lamb
a478138756
refactor: Add SpanContext:new() to make a new span ( #2551 )
...
* refactor: Add SpanContext::new() and remove make_span
* fix: generate random trace_id and span_ids
* docs: Update trace/src/ctx.rs
Co-authored-by: Raphael Taylor-Davies <1781103+tustvold@users.noreply.github.com>
Co-authored-by: Raphael Taylor-Davies <1781103+tustvold@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
2021-09-16 11:02:28 +00:00
kodiakhq[bot]
16157daad8
Merge pull request #2555 from influxdata/er/fix/read_buffer/ord
...
fix: Ensure byte trimmed floats can handle arbitrary float literals
2021-09-16 09:10:13 +00:00
Marco Neumann
bb17b4e2c2
test: even more time-related lifting
...
Lift a few `Utc::now()` calls further and narrow down checks in tests.
Also avoid a few `<` comparisons which might not always hold.
2021-09-16 11:05:10 +02:00
Edd Robinson
e51dd0365a
refactor: PR feedback
...
Co-authored-by: Marko Mikulicic <mkm@influxdata.com>
2021-09-16 10:01:44 +01:00
Edd Robinson
f7228ddd60
test: add test for byte trimmed floats
2021-09-16 10:01:44 +01:00
Edd Robinson
d387108dab
fix: float byte trimmer filter range
2021-09-16 10:01:44 +01:00
Edd Robinson
0250bd1337
fix: ensure range filter works with null
2021-09-16 10:01:44 +01:00
Edd Robinson
1a70865a03
fix: ensure float byte trimmed predicate pushdown works for unencodable values
2021-09-16 10:01:44 +01:00
Edd Robinson
483508e3c6
feat: add rle method for identifying all non-null row IDs
2021-09-16 10:01:44 +01:00
Edd Robinson
d04a0d1137
feat: add method for identifying all non-null row IDs
2021-09-16 10:01:44 +01:00
Edd Robinson
70b0ba44b3
test: failing filter test
2021-09-16 10:01:44 +01:00
kodiakhq[bot]
ca1973fca7
Merge pull request #2556 from influxdata/crepererum/preserved_catalog_api_split
...
refactor: split preserved catalog `api` into `core` and `interface`
2021-09-16 08:38:37 +00:00
Marco Neumann
2820db5583
refactor: split preserved catalog `api` into `core` and `interface`
...
This makes it clearer which traits and functions users of the preserved
catalog must implement. This also splits the error types into smaller
enums that are easier to understand.
This change should make it easier to implement new functionality (like
capturing delete predicates).
2021-09-16 10:30:11 +02:00
Raphael Taylor-Davies
1d55d9a1b5
feat: add pbjson support ( #2468 )
...
* feat: add pbjson support
* chore: fix test
2021-09-16 07:33:27 +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
Nga Tran
61e1eac135
fix: fix the cases of multi[le expressions in delete predicate
2021-09-15 17:00:21 -04:00
Carol (Nichols || Goulding)
d70d94100e
refactor: Extract a type alias
2021-09-15 17:00:09 -04:00
Carol (Nichols || Goulding)
81feced9d6
fix: Restart database background worker when it's restored
2021-09-15 16:59:49 -04:00
Carol (Nichols || Goulding)
7c81c280cf
fix: Shut down a database when it's deleted
2021-09-15 16:59:49 -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
Andrew Lamb
185f45f56b
chore: Update datafusion + other deps ( #2545 )
...
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
2021-09-15 20:56:44 +00:00
kodiakhq[bot]
74f1e0377c
Merge pull request #2547 from influxdata/cn/more-database-states
...
test: Check for other error Database States
2021-09-15 19:52:51 +00:00
kodiakhq[bot]
957df68da3
Merge branch 'main' into cn/more-database-states
2021-09-15 19:44:11 +00: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
Nga Tran
7175488133
chore: add some comments
2021-09-15 14:45:04 -04:00
Carol (Nichols || Goulding)
8f54dbcb58
test: Check for other error Database States
...
Connects to #2539 .
2021-09-15 14:44:14 -04:00
Nga Tran
3486cc8b38
fix: should not send an empty delete predicate predicate which means delete everything (no time range)
2021-09-15 14:14:26 -04:00
Andrew Lamb
74d3c2e6d2
feat: Translate DataFusion execution metrics to IOx Spans ( #2529 )
...
* feat: Translate DataFusion execution metrics to IOx Spans
* fix: add end to end test to ensure plumbing is hookedup
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
2021-09-15 18:14:23 +00:00
Raphael Taylor-Davies
1ea4335ff3
fix: report correct DatabaseStateCode ( #2543 )
...
* fix: report correct DatabaseStateCode
* chore: fix lint
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
2021-09-15 18:02:54 +00:00
Raphael Taylor-Davies
6f2301e16c
feat: migrate write buffer metrics ( #2536 )
...
* feat: migrate write buffer metrics
* feat: update server/src/write_buffer.rs
Co-authored-by: Andrew Lamb <alamb@influxdata.com>
Co-authored-by: Andrew Lamb <alamb@influxdata.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
2021-09-15 17:41:55 +00:00
kodiakhq[bot]
c4d39f328f
Merge pull request #2537 from influxdata/crepererum/issue2493c
...
feat: `Predicate` serialization
2021-09-15 16:27:02 +00:00
Marco Neumann
72021e010f
test: test unsupported cases of predicate serialization
2021-09-15 18:18:05 +02:00
Marco Neumann
c5ebf4a2e6
refactor: remove unused predicate serialization variants
2021-09-15 18:05:11 +02:00
Marco Neumann
44eb3b994d
feat: `Predicate` serialization
...
Closes #2493 .
2021-09-15 16:37:25 +02:00
Raphael Taylor-Davies
27b0c46f79
feat: shutdown WriteBufferConsumer on drop ( #2533 )
...
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
2021-09-15 11:48:56 +00:00
kodiakhq[bot]
c9321f4991
Merge pull request #2535 from influxdata/crepererum/time_of_write
...
refactor: make `time_of_write` a parameter
2021-09-15 10:05:52 +00:00
Marco Neumann
86031b03dc
refactor: make time_of_write a parameter
...
Instead of depending on the `chrono` clock implicitly via `Utc::now()`
we should make it an explicit parameter. This is essential for testing:
1. We have many tests guessing around this value by taking `Utc::now()`
directly before or after the write (this commit doesn't fix that, but
allows us to fix it in a follow-up).
2. We have some tests that ignore the `time_of_write` values in some
comparisons because they cannot control that value (fix not included
here but left as a follow-up).
3. The upcoming compression (#2528 ) needs to control timestamps within
the compressed payload (and `time_of_write` is embedded in the
parquet metadata) because the compressed size depends on it (even if
the uncompressed size is stable).
In general I argue that a "clock" is always data and should be passed
(either as a value or as a "now"-function) from the API layer. Hidden
clock checks just make mocking and tests a nightmare (we've seen this w/
replay tests as well).
2021-09-15 11:39:15 +02:00
kodiakhq[bot]
764cf1fdf0
Merge pull request #2532 from influxdata/crepererum/parquet_file_wo_query
...
refactor: decouple `parquet_file` from `query`
2021-09-15 08:35:41 +00:00
kodiakhq[bot]
de732b4273
Merge branch 'main' into crepererum/parquet_file_wo_query
2021-09-15 07:15:19 +00:00
Nga Tran
63cc7b3fb0
test: more tests to discover what still need to be done
2021-09-14 17:57:30 -04:00
Nga Tran
f4f140d3b7
chore: merge main to branch
2021-09-14 13:25:32 -04:00
Raphael Taylor-Davies
939c9ca038
fix: reset Database background worker on deletion ( #2530 )
...
* fix: reset Database background worker on deletion
* chore: update server/src/database.rs
Co-authored-by: Andrew Lamb <alamb@influxdata.com>
* chore: add database delete restore test
* chore: fix logical conflicts
Co-authored-by: Andrew Lamb <alamb@influxdata.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
2021-09-14 16:57:33 +00:00
kodiakhq[bot]
aad3c04bc4
Merge pull request #2531 from influxdata/crepererum/chunk_order_type
...
refactor: introduce `ChunkOrder` type
2021-09-14 16:36:34 +00:00