CircleCI[bot]
44eeab7e2b
chore: Run cargo hakari tasks
2022-11-24 14:51:21 +00:00
Dom Dwyer
a66fc0b645
feat(ingester): ingester2 init
...
Adds an ingester2 crate to hold the MVP of the Kafkaless project.
This was necessary due to the tight coupling of the ingester internals
with tests in external crates, and eases the parallel development of two
version of the ingester.
This commit contains various changes from the "ingester" crate, mostly
removing the concept/references to a "shard" or "ShardId" where
possible.
This commit does not copy over all of the "ingester" crate - only those
components that are definitely needed. I will drag across more as
functionality is implemented.
2022-11-24 15:34:02 +01:00
Dom
92719f5b2b
Merge pull request #6181 from influxdata/pauldix/wal
...
feat: Add a WAL crate for ingester2 to use
2022-11-24 09:21:55 +00:00
Carol (Nichols || Goulding)
b86eb763b1
fix: Tell buf to fetch to a depth of 100 commits when looking for breaking changes
...
Per <https://docs.buf.build/reference/inputs#other-options >, this is by
default 50 (and I have 51 commits on this PR 😰 )
100 commits should be enough for anyone.
2022-11-23 17:24:50 -05:00
Carol (Nichols || Goulding)
727dd864d2
test: Add tests exercising writing of delete and persist ops
2022-11-23 17:15:57 -05:00
Carol (Nichols || Goulding)
47173e53f0
test: Rotating without writing anything is fine
2022-11-23 17:15:57 -05:00
Carol (Nichols || Goulding)
fe837245e7
test: Add some WAL reader unit-ey tests
2022-11-23 17:15:56 -05:00
Carol (Nichols || Goulding)
be445b5057
fix: Remove API to get multiple SegmentEntry records at once; it's not quite right
...
See #6219 for batching reads.
2022-11-23 17:07:49 -05:00
Carol (Nichols || Goulding)
edd606aa3b
feat: Serialize using protobuf instead of json
2022-11-23 17:07:49 -05:00
Carol (Nichols || Goulding)
a85abadfd5
fix: Define and use a sequence number represented as u64 instead
2022-11-23 17:07:49 -05:00
Carol (Nichols || Goulding)
d7ffa65918
feat: Add an id method to OpenSegmentFileWriter
2022-11-23 17:07:49 -05:00
Carol (Nichols || Goulding)
35576b26b5
refactor: Rename placeholder fnamex to build_segment_path
2022-11-23 17:07:49 -05:00
Carol (Nichols || Goulding)
40dd575de9
feat: Add segment_id metadata to WriteSummary
2022-11-23 17:07:48 -05:00
Carol (Nichols || Goulding)
8618264fe6
fix: Remove unused created_at field
2022-11-23 17:07:48 -05:00
Carol (Nichols || Goulding)
1ba0f193a9
fix: fsync parent directory before returning that new segment file was created
2022-11-23 17:07:48 -05:00
Carol (Nichols || Goulding)
d5b439732d
feat: Implement delete WAL file
2022-11-23 17:07:48 -05:00
Carol (Nichols || Goulding)
a2c25f5191
docs: Improve some descriptions
2022-11-23 17:07:48 -05:00
Carol (Nichols || Goulding)
cdec449963
fix: Return single SequencedWalOps for now, will batch later
2022-11-23 17:07:48 -05:00
Carol (Nichols || Goulding)
db9a43f1b3
fix: Create types for 3 different tasks of a WAL
2022-11-23 17:07:48 -05:00
Carol (Nichols || Goulding)
de9c02caad
fix: Use bytes_written rather than file metadata
2022-11-23 17:07:48 -05:00
Carol (Nichols || Goulding)
1354136b93
fix: fsync and panic if it fails
2022-11-23 17:07:47 -05:00
Carol (Nichols || Goulding)
ee99b93d09
fix: Make checksum private
2022-11-23 17:07:47 -05:00
Carol (Nichols || Goulding)
be2207bcd3
refactor: Rename to clarify closed segment types
2022-11-23 17:07:47 -05:00
Carol (Nichols || Goulding)
4335edc6d1
refactor: Rename to clarify open segment types
2022-11-23 17:07:47 -05:00
Carol (Nichols || Goulding)
70b12a8112
fix: Clarify and simplify the public API
2022-11-23 17:07:47 -05:00
Jake Goulding
1f5fd43829
fix: cross ps and dot qs
2022-11-23 17:07:47 -05:00
Jake Goulding
0ae40ba025
fix: move writing to blocking and wire up some things
2022-11-23 17:07:47 -05:00
Jake Goulding
2e6f269840
refactor: move blocking code to new file
2022-11-23 17:07:47 -05:00
Carol (Nichols || Goulding)
49633842a5
test: Rotate and reading of closed segments
2022-11-23 17:07:46 -05:00
Jake Goulding
58d9ada90c
feat: Stream the reading
2022-11-23 17:07:46 -05:00
Jake Goulding
51aa2a118b
feat: Add buffering to File reader
2022-11-23 17:07:46 -05:00
Jake Goulding
5be0315db9
fix: Move blocking read code to separate task
2022-11-23 17:07:46 -05:00
Carol (Nichols || Goulding)
48e5000ec6
fix: Make test data deterministic
2022-11-23 17:07:46 -05:00
Carol (Nichols || Goulding)
4bb8d3a408
fix: Update to DmlWrite only containing IDs
2022-11-23 17:07:46 -05:00
Carol (Nichols || Goulding)
42ed02ea31
feat: Actually write entries to the open segment file
2022-11-23 17:07:46 -05:00
Jake Goulding
ebe605a246
fix: Notes and questions
2022-11-23 17:07:46 -05:00
Carol (Nichols || Goulding)
497afc5c91
fix: Change name from e to clarify this covers the Ok case too
2022-11-23 17:07:45 -05:00
Jake Goulding
2df915b189
fix: Notes and questions
2022-11-23 17:07:45 -05:00
Jake Goulding
1ee14155a5
refactor: associate functions with SegmentFileReader
2022-11-23 17:07:45 -05:00
Jake Goulding
41aa4f09fc
fix: remove unneeded usage of trait object
2022-11-23 17:07:45 -05:00
Jake Goulding
e81a84dd40
fix: don't require a reference just to make an owned value
2022-11-23 17:07:45 -05:00
Jake Goulding
5104dda6fb
fix: Notes and questions
2022-11-23 17:07:45 -05:00
Jake Goulding
2852d1ae89
fix: simplify error check
2022-11-23 17:07:45 -05:00
Jake Goulding
05ae070da2
fix: remove impossible failure case
2022-11-23 17:07:45 -05:00
Jake Goulding
eb6abb5d67
fix: avoid unneeded allocation
2022-11-23 17:07:45 -05:00
Jake Goulding
651b7a1ce6
fix: use write_all instead of write
2022-11-23 17:07:44 -05:00
Jake Goulding
b96de5983d
fix: don't require a reference just to make an owned value
2022-11-23 17:07:44 -05:00
Carol (Nichols || Goulding)
3eda17ea8b
fix: Make SegmentId into a newtype; test the open segment file is created
2022-11-23 17:07:44 -05:00
Carol (Nichols || Goulding)
eea7f113fb
fix: Start implementing traits on Wal to enable outside use
2022-11-23 17:07:44 -05:00
Carol (Nichols || Goulding)
d7134d4846
fix: Cleanups, notes, and clarifications noticed while reading
2022-11-23 17:07:44 -05:00