-
Notifications
You must be signed in to change notification settings - Fork 6.4k
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
[JAVA] Fix multiget throwing NPE for num of keys > 70k #9012
Conversation
Unnecessary use of multiple local JNI references at the same time, 1 per key, was limiting the size of the key array. The local references don't really need to be held simultaneously, so if we shuffle things around a bit we can make it work for bigger key arrays. Also, make errors throw helpful exception messages rather than returning a null pointer.
Thanks @alanpaxton this LGTM. Could @jay-zhuang or @mrambacher merge this one please? |
@jay-zhuang has imported this pull request. If you are a Facebook employee, you can view this diff on Phabricator. |
Is it also expected to fix #9006 ? |
No @ajkr I was unaware of #9006 and the parallel transactional multiget code. That has its own helper functions with the same flaws. Perhaps check with @adamretter and agree whether I should expand the work here to catch that, or accept this as-is and leave the other ticket open ? |
@alanpaxton has updated the pull request. You must reimport the pull request before landing. |
@jay-zhuang has imported this pull request. If you are a Facebook employee, you can view this diff on Phabricator. |
@jay-zhuang merged this pull request in f5526af. |
@alanpaxton how is performance for you when doing a large multi get? [concurrently] |
Summary: closes facebook/rocksdb#8039 Unnecessary use of multiple local JNI references at the same time, 1 per key, was limiting the size of the key array. The local references don't need to be held simultaneously, so if we rearrange the code we can make it work for bigger key arrays. Incidentally, make errors throw helpful exception messages rather than returning a null pointer. Pull Request resolved: facebook/rocksdb#9012 Reviewed By: mrambacher Differential Revision: D31580862 Pulled By: jay-zhuang fbshipit-source-id: ce05831d52ede332e1b20e74d2dc621d219b9616
closes #8039
Unnecessary use of multiple local JNI references at the same time, 1 per key, was limiting the size of the key array. The local references don't need to be held simultaneously, so if we rearrange the code we can make it work for bigger key arrays.
Incidentally, make errors throw helpful exception messages rather than returning a null pointer.