Dom Dwyer
b4c1980e58
chore: remove old TODOs
...
These have been done!
2023-01-16 18:55:17 +01:00
Dom Dwyer
fa62c00002
test: persist concurrent sort key catalog updates
...
Adds an integration test of the persist system, covering:
* Node A starts a persist operation
* Node B starts a persist operation for the same partition
* Node A completes, setting the catalog sort key to a new value
* Node B attempts to update the catalog, observing the new sort key
* Node B re-compacts the data, re-uploads, and drives to completion
This scenario is/was tracked in:
https://github.com/influxdata/influxdb_iox/issues/6439
2023-01-16 18:55:17 +01:00
Dom Dwyer
091b428d4f
refactor(persist): decouple Context & worker logic
...
The persist::Context struct carries the data to be persisted, a
reference to the partition from which it came, and various cached fields
to avoid re-acquiring the partition read lock all the time.
Prior to this commit, the Context also had the full persist logic as
methods, invoked by the persist worker. This tightly couples the data &
logic - it's fairly clear a worker should implement the work, and
operate on the data - not commingling the two. I even knew the mess I
was making when I wrote it, but effectively copy-pasted it from
ingester1 because deadlines.
This commit decouples the persist logic from the Context.
2023-01-16 18:36:17 +01:00
Dom Dwyer
1f5294c096
test: persistence system integration test
...
This test ensures the persistence system as a whole works in the happy
path.
2023-01-16 13:34:33 +01:00
Dom
5816216ba1
Merge pull request #6597 from influxdata/dependabot/cargo/rustyline-10.1.0
...
chore(deps): Bump rustyline from 10.0.0 to 10.1.0
2023-01-16 10:21:28 +00:00
Dom
586912ad73
Merge branch 'main' into dependabot/cargo/rustyline-10.1.0
2023-01-16 10:04:47 +00:00
Dom
bb6b273a93
Merge pull request #6598 from influxdata/dependabot/cargo/clap-4.1.1
...
chore(deps): Bump clap from 4.0.32 to 4.1.1
2023-01-16 10:04:17 +00:00
dependabot[bot]
f7797b0358
chore(deps): Bump clap from 4.0.32 to 4.1.1
...
Bumps [clap](https://github.com/clap-rs/clap ) from 4.0.32 to 4.1.1.
- [Release notes](https://github.com/clap-rs/clap/releases )
- [Changelog](https://github.com/clap-rs/clap/blob/master/CHANGELOG.md )
- [Commits](https://github.com/clap-rs/clap/compare/v4.0.32...v4.1.1 )
---
updated-dependencies:
- dependency-name: clap
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
2023-01-16 09:31:58 +00:00
dependabot[bot]
3b2c172dc1
chore(deps): Bump nom from 7.1.2 to 7.1.3 ( #6596 )
...
Bumps [nom](https://github.com/Geal/nom ) from 7.1.2 to 7.1.3.
- [Release notes](https://github.com/Geal/nom/releases )
- [Changelog](https://github.com/rust-bakery/nom/blob/7.1.3/CHANGELOG.md )
- [Commits](https://github.com/Geal/nom/compare/7.1.2...7.1.3 )
---
updated-dependencies:
- dependency-name: nom
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-01-16 09:29:09 +00:00
CircleCI[bot]
1f18738203
chore: Run cargo hakari tasks
2023-01-16 02:07:11 +00:00
dependabot[bot]
0a70e9f43f
chore(deps): Bump rustyline from 10.0.0 to 10.1.0
...
Bumps [rustyline](https://github.com/kkawakam/rustyline ) from 10.0.0 to 10.1.0.
- [Release notes](https://github.com/kkawakam/rustyline/releases )
- [Changelog](https://github.com/kkawakam/rustyline/blob/master/History.md )
- [Commits](https://github.com/kkawakam/rustyline/compare/v10.0.0...v10.1.0 )
---
updated-dependencies:
- dependency-name: rustyline
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
2023-01-16 02:06:24 +00:00
Stuart Carnie
3f6bb3e330
feat: Parse IANA timezones in an InfluxQL TZ clause ( #6585 )
...
* feat: Parse IANA timezone strings to chrono_tz::Tz
* feat: Visitors can customise the return error type
This avoids having to remap errors from `&'static str` to the caller's
error type, and will be used in a future PR for time range expressions.
* chore: Run cargo hakari tasks
Co-authored-by: CircleCI[bot] <circleci@influxdata.com>
2023-01-15 22:00:41 +00:00
Nga Tran
e596f5f074
chore: metrics for compaction candidate counts ( #6593 )
...
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
2023-01-13 19:00:43 +00:00
kodiakhq[bot]
0edda47af2
Merge pull request #6591 from influxdata/dom/ingester-id
...
refactor: use system-wide ingester ID
2023-01-13 16:17:50 +00:00
Dom Dwyer
6413362c72
refactor: use system-wide ingester ID
...
The query API exposes a unique-per-instance UUID to allow callers to
detect a crash of the ingester process - this was initialised directly
in the query RPC handler.
This commit turns the bare UUID into a type, and initialises it in the
top-level initialisation of the ingester, plumbing it down into the
query RPC handler.
This allows the UUID to be reused by other components/handlers.
2023-01-13 16:46:38 +01:00
Nga Tran
550cea8bc5
perf: optimize not to update partitions with newly created level 2 files ( #6590 )
...
* perf: optimize not to update partitions with newly created level 2 files
* chore: cleanup
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
2023-01-13 14:46:58 +00:00
Dom
677de283ea
Merge pull request #6589 from influxdata/dom/remove-partition-double-ref
...
perf: remove double-ref Partition map
2023-01-13 14:36:28 +00:00
Dom Dwyer
8dc18a9838
perf: remove double-ref Partition map
...
The ingester no longer needs to access a specific PartitionData by ID
(they are addressed either via an iterator over the BufferTree, or
shared by Arc reference).
This allows us to remove the extra map maintaining ID -> PartitionData
references, and the shared access lock protecting it.
2023-01-13 14:05:30 +01:00
Dom
81a4439cdf
Merge pull request #6583 from influxdata/cn/ingester-persist-tick
...
fix: Wait the interval and *then* persist
2023-01-13 12:39:38 +00:00
Dom
f7ff877582
Merge branch 'main' into cn/ingester-persist-tick
2023-01-13 12:31:45 +00:00
dependabot[bot]
1c9fdd38d6
chore(deps): Bump io-lifetimes from 1.0.3 to 1.0.4 ( #6584 )
...
Bumps [io-lifetimes](https://github.com/sunfishcode/io-lifetimes ) from 1.0.3 to 1.0.4.
- [Release notes](https://github.com/sunfishcode/io-lifetimes/releases )
- [Commits](https://github.com/sunfishcode/io-lifetimes/compare/v1.0.3...1.0.4 )
---
updated-dependencies:
- dependency-name: io-lifetimes
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
2023-01-13 09:21:06 +00:00
Marco Neumann
bc030150f5
refactor: improve executor panic/error handling ( #6582 )
...
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
2023-01-13 07:10:53 +00:00
Stuart Carnie
81ffb3edb5
chore: move walk and the mutable variant to the parser crate ( #6575 )
...
It is generally a useful API to be core to the InfluxQL parser crate.
2023-01-12 21:06:06 +00:00
Carol (Nichols || Goulding)
f56123bf30
test: Allow integration tests that should_panic to pass if TEST_INTEGRATION isn't set
2023-01-12 15:31:34 -05:00
Carol (Nichols || Goulding)
02c7ed58a2
fix: Use up the first interval tick so we wait first and then persist
2023-01-12 14:55:58 -05:00
Carol (Nichols || Goulding)
1c7ffb95df
test: Write a should_panic test that shows ingester is persisting when I thought it wouldn't
2023-01-12 14:55:28 -05:00
kodiakhq[bot]
97e85a24e3
Merge pull request #6570 from influxdata/cn/persist-on-demand
...
test: API to tell an ingester to persist on demand
2023-01-12 16:58:56 +00:00
Carol (Nichols || Goulding)
0554194923
docs: Explain persist-on-demand use case and potential limitations
2023-01-12 11:52:11 -05:00
Carol (Nichols || Goulding)
b989e0893f
test: Make persist-on-demand test a step test and check the number of parquet files
2023-01-12 11:40:46 -05:00
Carol (Nichols || Goulding)
e1395f4f35
fix: Move PersistNow to grpc/PersistHandler
2023-01-12 11:09:33 -05:00
Carol (Nichols || Goulding)
642bab5db3
fix: Cloning persist handle for persist_partitions no longer needed
2023-01-12 11:05:25 -05:00
Carol (Nichols || Goulding)
27d58efa18
feat: Implement Persist Service on ingester2
2023-01-12 11:03:12 -05:00
Carol (Nichols || Goulding)
3a2544a7eb
feat: Define a new gRPC service for ingester persist
2023-01-12 11:03:12 -05:00
Carol (Nichols || Goulding)
e9b3efb33d
refactor: Extract a method for making requests to the ingester onto MiniCluster
2023-01-12 11:03:10 -05:00
Carol (Nichols || Goulding)
f6dda3f4bb
test: Create shared, non-persisting ingester2 cluster
2023-01-12 10:23:00 -05:00
Dom
061188e894
Merge pull request #6580 from influxdata/dom/shutdown-sequence
...
refactor: delegate frontend shutdown to backend
2023-01-12 14:34:28 +00:00
Dom
a66dc187ac
Merge branch 'main' into dom/shutdown-sequence
2023-01-12 14:27:29 +00:00
Marco Neumann
e2da573dcf
refactor: improve thread naming ( #6579 )
...
- name exec driver thread (instead of using the default that `thread::spawn`
gives us)
- provide number to every worker thread (both for the dedicatd executor
and for the main runtime)
- shorten thread names (current naming too long for most debug tools)
2023-01-12 14:22:49 +00:00
Dom Dwyer
0d111c4672
refactor: delegate frontend shutdown to backend
...
Prior to this commit, the (happy path) shutdown sequence of an IOx
process was hard coded to:
1. Stop gRPC & HTTP servers
2. Stop backend server (i.e. ingester2)
After this commit, the execution of step 1 is delegated to the handler
for step 2; the server implementation (router / ingester / querier /
etc) now chooses when to shut down the RPC & HTTP servers.
This allows the server shutdown delegate to correctly sequence the
shutdown of all components of the IOx server. This allows ingester2 to
correctly sequence the shutdown of the query RPC server w.r.t the
graceful stop & persist, ensuring queries continue to be serviced.
2023-01-12 14:59:50 +01:00
Dom
2181df75bc
Merge pull request #6576 from influxdata/dom/revert-rust-pin
...
revert: "ci: use rust 1.66.0 for CI"
2023-01-12 12:23:19 +00:00
Dom
1fa2f3595a
Merge branch 'main' into dom/revert-rust-pin
2023-01-12 12:14:39 +00:00
Dom
7e3bb25815
Merge pull request #6568 from influxdata/dom/shutdown-persist
...
feat(ingester2): persist on shutdown
2023-01-12 10:22:28 +00:00
Dom
1e5b594863
Merge branch 'main' into dom/shutdown-persist
2023-01-12 10:15:34 +00:00
dependabot[bot]
8565ca5137
chore(deps): Bump zstd from 0.12.1+zstd.1.5.2 to 0.12.2+zstd.1.5.2 ( #6573 )
...
Bumps [zstd](https://github.com/gyscos/zstd-rs ) from 0.12.1+zstd.1.5.2 to 0.12.2+zstd.1.5.2.
- [Release notes](https://github.com/gyscos/zstd-rs/releases )
- [Commits](https://github.com/gyscos/zstd-rs/commits )
---
updated-dependencies:
- dependency-name: zstd
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Dom <dom@itsallbroken.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
2023-01-12 09:54:28 +00:00
dependabot[bot]
cc6d8709c9
chore(deps): Bump hashbrown from 0.13.1 to 0.13.2 ( #6574 )
...
Bumps [hashbrown](https://github.com/rust-lang/hashbrown ) from 0.13.1 to 0.13.2.
- [Release notes](https://github.com/rust-lang/hashbrown/releases )
- [Changelog](https://github.com/rust-lang/hashbrown/blob/master/CHANGELOG.md )
- [Commits](https://github.com/rust-lang/hashbrown/compare/v0.13.1...v0.13.2 )
---
updated-dependencies:
- dependency-name: hashbrown
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Dom <dom@itsallbroken.com>
2023-01-12 09:47:15 +00:00
Dom Dwyer
38eeffac0d
revert: "ci: use rust 1.66.0 for CI"
...
This reverts commit 71f54528d0
.
2023-01-12 10:36:26 +01:00
Nga Tran
fa0893819c
fix: have warm compaction work with compactor2 ( #6571 )
...
* refactor: same function to select partition candidates
* fix: have warm compaction work with compactor2
* fix: format
* chore: cleanup
2023-01-12 02:32:39 +00:00
Nga Tran
1f508b76fc
refactor: same function to select partition candidates ( #6569 )
...
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
2023-01-12 01:14:49 +00:00
Nga Tran
d3b2203560
fix: bug in count processed partittions ( #6572 )
2023-01-11 22:53:52 +00:00
kodiakhq[bot]
e4249f6a19
Merge pull request #6541 from influxdata/cn/flaky-test
...
test: Record number of Parquet files before a write
2023-01-11 17:52:01 +00:00