Uh oh!
There was an error while loading. Please reload this page.
PARQUET-1660: align Bloom filter implementation with format - #686
Conversation
| int bucketIndex = (int)(hash >> 32) & (bitset.length / BYTES_PER_BLOCK - 1); | ||
| long numBlocks = bitset.length / BYTES_PER_BLOCK; | ||
| long lowHash = hash >>> 32; | ||
| int blockIndex = (int)(lowHash * numBlocks >> 32); |
There was a problem hiding this comment.
What happens if this product overflows? How does that behavior compare to this line operating on unsigned values in C++, which cannot overflow on multiplication?
There was a problem hiding this comment.
The number of blocks right shift 5 bits at first, so its value should be less than 1<<27 and the overflow should not happen here.
jbapple
commented
Dec 16, 2019
LGTM. |
Fokko
left a comment
There was a problem hiding this comment.
LGTM, do you already use this internally?
| return bloomFilterExpectedDistinctNumbers; | ||
| } | ||
| public Set<String> getBloomFilterColumns() {return bloomFilterColumns;} |
There was a problem hiding this comment.
Can we put the return on the next line, similar to getMaxBloomFilterBytes
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
chenjunjiedada
commented
Dec 28, 2019
@Fokko, @gszadovszky, could you help to have another look? Is it close to merging? |
chenjunjiedada
commented
Jan 2, 2020
@Fokko, forgot your last question. Yes, we already use it internally in some cases. |
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
chenjunjiedada
commented
Jan 7, 2020
@gszadovszky, I updated the code, would you please take another look? |
chenjunjiedada
commented
Jan 7, 2020
@gszadovszky , thanks for your review. I'd like to rebase this to master before merging. Maybe it needs your another look again. Thanks in advance! |
81dd09b to
039ffdcComparechenjunjiedada
commented
Jan 7, 2020
Looks like I need to merge instead of rebasing. Let me fix this. Sorry for confusing. |
039ffdc to
b3d54e8Comparechenjunjiedada
commented
Jan 7, 2020
@gszadovszky@Fokko, I just realized that you may need squashing for this PR, so it would be better to submit a separated PR for merging master. So please help to merge this in your convenience. |
Fokko
commented
Jan 7, 2020
So you'll create a new PR from |
chenjunjiedada
commented
Jan 7, 2020
@Fokko, I may put in the wrong way, but it is a PR to merge master to bloom-filter branch. I have done that job local machine and can submit that if you prefer to squash one more merging PR. |
gszadovszky
commented
Jan 7, 2020
Let's squash+merge this PR to the feature branch first. Then, check the merge PR and push it to the feature branch as well. |
chenjunjiedada
commented
Jan 7, 2020
SGTM |
* PARQUET-1328: Add Bloom filter reader and writer (apache#587) * PARQUET-1516: Store Bloom filters near to footer (apache#608) * PARQUET-1391: Integrate Bloom filter logic (apache#619) * PARQUET-1660: align Bloom filter implementation with format (apache#686)
Make sure you have checked all steps below.
Jira
Tests
Commits
Documentation