-
Notifications
You must be signed in to change notification settings - Fork 10.1k
Experiments with replacing index implementation of btree with key -> revisions
with revision list of immutable trees
#18184
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
Skipping CI for Draft Pull Request. |
7da0cf0
to
6838500
Compare
Tried the btree with copy:
|
Looking at btree code, looks like adding fast counting should not be hard as it already includes intervals. |
Codecov ReportAttention: Patch coverage is
Additional details and impacted files
... and 192 files with indirect coverage changes @@ Coverage Diff @@
## main #18184 +/- ##
===========================================
- Coverage 68.84% 57.03% -11.82%
===========================================
Files 421 420 -1
Lines 35857 35604 -253
===========================================
- Hits 24686 20305 -4381
- Misses 9751 13865 +4114
- Partials 1420 1434 +14 Continue to review full report in Codecov by Sentry.
🚀 New features to boost your workflow:
|
@serathius: The following test failed, say
Full PR test history. Your PR dashboard. Please help us cut down on flakes by linking to an open issue when you hit one in your PR. Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. I understand the commands that are listed here. |
6838500
to
615f20d
Compare
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: serathius The full list of commands accepted by this bot can be found here. The pull request process is described here
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
e03571c
to
8674a56
Compare
Signed-off-by: Marek Siarkowicz <[email protected]>
8674a56
to
63c92d0
Compare
625b706
to
db3a652
Compare
Signed-off-by: Marek Siarkowicz <[email protected]>
db3a652
to
4d92c28
Compare
Recently talked with Marcel from Cillium about his recent issue with etcd being overloaded with LIST with limit. Even with low limit, the list will range all the keys to count the total number of keys (not a great feature).
My idea was to improve performance of getting key count within range by using interval trees. For now I didn't managed to implement it as I have already started seeing issues finding a good implementation of immutable tree. For now I tried with AVL trees.
The results:
Pros:
Cons:
The main blocker for this approach is reducing the cost of Puts and improving the
Even if the idea doesn't stick I expect we can keep the benchmarks.