Luo Chen has uploaded a new change for review.
https://asterix-gerrit.ics.uci.edu/2152
Change subject: [ASTERIXDB-2166] Fix bulk load bloom filters for buddy btree
......................................................................
[ASTERIXDB-2166] Fix bulk load bloom filters for buddy btree
- user model changes: no
- storage format changes: no
- interface changes: no
Details:
- Fix bulk loading bloom filters for buddy btrees. For these
bloom filters, the deleted keys are added through the delete method,
which shouldn't be ignored by the bloom filter bulk loader
Change-Id: Icc7ca46c69c9102010f4b407ca0e9d96ba19289b
---
M
hyracks-fullstack/hyracks/hyracks-storage-am-lsm-common/src/main/java/org/apache/hyracks/storage/am/lsm/common/api/AbstractLSMWithBloomFilterDiskComponent.java
M
hyracks-fullstack/hyracks/hyracks-storage-am-lsm-common/src/main/java/org/apache/hyracks/storage/am/lsm/common/impls/BloomFilterBulkLoader.java
2 files changed, 11 insertions(+), 4 deletions(-)
git pull ssh://asterix-gerrit.ics.uci.edu:29418/asterixdb
refs/changes/52/2152/1
diff --git
a/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-common/src/main/java/org/apache/hyracks/storage/am/lsm/common/api/AbstractLSMWithBloomFilterDiskComponent.java
b/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-common/src/main/java/org/apache/hyracks/storage/am/lsm/common/api/AbstractLSMWithBloomFilterDiskComponent.java
index 107190d..a999dc1 100644
---
a/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-common/src/main/java/org/apache/hyracks/storage/am/lsm/common/api/AbstractLSMWithBloomFilterDiskComponent.java
+++
b/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-common/src/main/java/org/apache/hyracks/storage/am/lsm/common/api/AbstractLSMWithBloomFilterDiskComponent.java
@@ -88,7 +88,7 @@
BloomFilterSpecification bloomFilterSpec =
BloomCalculations.computeBloomSpec(
BloomCalculations.maxBucketsPerElement(numElementsHint),
getLsmIndex().bloomFilterFalsePositiveRate());
return new
BloomFilterBulkLoader(getBloomFilter().createBuilder(numElementsHint,
bloomFilterSpec.getNumHashes(),
- bloomFilterSpec.getNumBucketsPerElements()));
+
bloomFilterSpec.getNumBucketsPerElements()),!lsmIndex.isPrimaryIndex());
}
@Override
diff --git
a/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-common/src/main/java/org/apache/hyracks/storage/am/lsm/common/impls/BloomFilterBulkLoader.java
b/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-common/src/main/java/org/apache/hyracks/storage/am/lsm/common/impls/BloomFilterBulkLoader.java
index 0dcf349..27002ab 100644
---
a/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-common/src/main/java/org/apache/hyracks/storage/am/lsm/common/impls/BloomFilterBulkLoader.java
+++
b/hyracks-fullstack/hyracks/hyracks-storage-am-lsm-common/src/main/java/org/apache/hyracks/storage/am/lsm/common/impls/BloomFilterBulkLoader.java
@@ -26,21 +26,28 @@
private final IIndexBulkLoader bulkLoader;
- public BloomFilterBulkLoader(IIndexBulkLoader bulkLoader) {
+ private final boolean forBuddyBtree;
+
+ public BloomFilterBulkLoader(IIndexBulkLoader bulkLoader, boolean
forBuddyBtree) {
this.bulkLoader = bulkLoader;
+ this.forBuddyBtree = forBuddyBtree;
}
private boolean endedBloomFilterLoad = false;
@Override
public ITupleReference add(ITupleReference tuple) throws
HyracksDataException {
- bulkLoader.add(tuple);
+ if(!forBuddyBtree) {
+ bulkLoader.add(tuple);
+ }
return tuple;
}
@Override
public ITupleReference delete(ITupleReference tuple) throws
HyracksDataException {
- //Noop
+ if(forBuddyBtree) {
+ bulkLoader.add(tuple);
+ }
return tuple;
}
--
To view, visit https://asterix-gerrit.ics.uci.edu/2152
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: Icc7ca46c69c9102010f4b407ca0e9d96ba19289b
Gerrit-PatchSet: 1
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Luo Chen <[email protected]>