-
Notifications
You must be signed in to change notification settings - Fork 904
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
dnsdist: Add support for range-based lookups into a Key-Value store #10525
Conversation
Misspellings found, please review:
To accept these changes, run the following commands from this repository on this branch
|
f88826e
to
0ccf7b2
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This looks all good to me now. TSAN failure should be investigated.
Thanks, Otto!
I looked into it, and it seems to be a timing issue (we have a QPS limit that might not match if the test takes too long). It's not related to this PR anyway so I'm going to merge it. |
Ah, I need to merge 10520 first so I'll wait a bit :) |
This feature allows doing a range-based lookup (mostly useful for IP addresses), assuming that: - there is a key for the last element of the range (2001:0db8:ffff:ffff:ffff:ffff:ffff:ffff for 2001:db8::/32) which contains the first element of the range (2001:0db8:0000:0000:0000:0000:0000:0000) followed by any data in the value - AND there is no overlapping ranges in the database !! This requires that the underlying store supports ordered keys, which is true for LMDB but not for CDB, for example.
…k byte order Also document that tags are always created on a lookup, even when the key does not exist. It's a bit weird but we should probably not change that right now.
ab20cb5
to
65b3f91
Compare
Short description
This feature allows doing a range-based lookup (mostly useful for IP addresses), assuming that:
which contains the first element of the range (2001:0db8:0000:0000:0000:0000:0000:0000) followed by any data in the value
This requires that the underlying store supports ordered keys, which is true for LMDB but not for CDB, for example.
PS: this PR is based on the work done in #10520 and might require a rebase once it is merged. So you can skip the first two commits on that branch when reviewing :)
Checklist
I have: