-
Notifications
You must be signed in to change notification settings - Fork 1
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
issue with searching many key values with v1.4.0 #1
Comments
assign it to me @guycipher |
No problem |
can u please describe the issue more |
Yes, when we insert 1 million key values as in above example. Then we search we cannot find key 834332 which should have been inserted in the previous insert operations. Flushing whats in-memory every 100000 keys. The Get() would either rely on the memtable or searching each sstable sequentially starting from the latest one. The issue lies somewhere there. You wont see the issue when inserting a small amount of key value pairs, only when inserting many. Set your options similar to mine:
Then insert 1,000,000 key value pairs
Then try to get key 834,332
Currently we get:
|
I've done some minor changes and put a new test in the lsmt_test.go for what I'm talking about. The changes I made were trying to fix the issue but it didn't work out :P |
I found the issue. Coming next version in a couple minutes. It was the pager and not initializing the pager within the in-memory sstable. |
Previous versions brought all sstable keys into memory, then did a binary search which made Get faster. With the implementation of a pager there seems to be an odd case where inserting many keys doesn't get a result. I believe it to be the sstable iterator. This obviously needs to be investigated and corrected.
The text was updated successfully, but these errors were encountered: