Skip to content
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

🔥 Sled and use RocksDB instead #170

Closed
wants to merge 3 commits into from
Closed

Conversation

alexsnaps
Copy link
Member

@alexsnaps alexsnaps commented May 2, 2023

This builds on and supersedes both #146 & #167 … It replaces sled as the underlying storage for local persistence with RocksDB using the Rust bindings… which both were extensively battle tested.

If we think this is indeed a better choice, it'd probably be worthwhile git rebase -i from HEAD of main, squashing all the work from the other PRs… I kept them as is for now, hoping this makes reviewing somewhat easier.

@alexsnaps alexsnaps force-pushed the rocksdb branch 3 times, most recently from 202aef7 to 4da5823 Compare May 2, 2023 17:15
@alexsnaps alexsnaps changed the title Rocksdb RocksDB backed local persistence May 2, 2023
@alexsnaps alexsnaps force-pushed the rocksdb branch 5 times, most recently from 7816767 to 9a9742c Compare May 2, 2023 22:50
@alexsnaps alexsnaps changed the title RocksDB backed local persistence 🔥 Sled and use RocksDB instead May 2, 2023
@alexsnaps alexsnaps marked this pull request as ready for review May 2, 2023 23:04
@eguzki
Copy link
Contributor

eguzki commented May 9, 2023

hoping this makes reviewing somewhat easier.

It does, thanks for that

@eguzki
Copy link
Contributor

eguzki commented May 9, 2023

Looking good. I would go ahead and try to add the disk persistence feature, at least in Tech Preview

@eguzki
Copy link
Contributor

eguzki commented May 9, 2023

Have you considered using the Compaction Filter to implement the TTL??

@@ -8,7 +8,7 @@ ENV CARGO_NET_GIT_FETCH_WITH_CLI=true
ARG RUSTC_VERSION=1.67.1
RUN apk update \
&& apk upgrade \
&& apk add build-base binutils-gold openssl3-dev protoc protobuf-dev curl git \
&& apk add build-base binutils-gold openssl3-dev protoc protobuf-dev curl git linux-headers clang \
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

there may be issues with the new ubi8 based images #168

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Totally will be...

@alexsnaps
Copy link
Member Author

alexsnaps commented May 10, 2023

Have you considered using the Compaction Filter to implement the TTL??

I do when disk optimized: https://github.com/Kuadrant/limitador/pull/170/files#diff-b41633d05540bf2734d97b29f9dab57f411c275100114fa933f6b0582cd04abaR124-R135

But it only will expire when compacting, this is ignored on reads... so you still need to deal with expired value on read, just less of them, depending whether they come from a segment that was compacted (I don't recall if the memtable get compacted when written to disk)

@alexsnaps
Copy link
Member Author

Closed in favor of #178

@alexsnaps alexsnaps closed this May 12, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
No open projects
Status: Done
Development

Successfully merging this pull request may close these issues.

2 participants