influxdb/data_types
Dom Dwyer 03f7025211
perf: minimise partition catalog queries
This commit implements a PartitionProvider decorator that
probabilistically determines if a partition is going to be a an
"old-style" row-addressed partition created prior to #7963, or a
"new-style" hash-addressed partition created after using a fast,
space-efficient, compressed bloom filter.

If a partition is identified as a new-style, hash-addressed partition,
the PartitionData is immediately initialised using the deterministic
hash ID without performing a catalog query at all.

If a partition is identified as an old-style, row-addressed partition, a
catalog query is performed to resolve the row ID as it would without
this filter.

A new-style, hash-addressed partition may sometimes be incorrectly
identified as a row-addressed partition, causing a spurious catalog
query, which is then correctly identified as a hash-addressed partition.
This is tuned to happen ~1-0.1% of the time, eliminating 99% to 99.9% of
unnecessary catalog queries.
2023-08-03 16:40:38 +02:00
..
src perf: minimise partition catalog queries 2023-08-03 16:40:38 +02:00
Cargo.toml chore(deps): Bump thiserror from 1.0.43 to 1.0.44 (#8315) 2023-07-24 10:18:44 +00:00