private boolean closeBloomFilter(BloomFilterWriter bfw) throws IOException { boolean haveBloom = (bfw != null && bfw.getKeyCount() > 0); if (haveBloom) { bfw.compactBloom(); } return haveBloom; }
@Override public void writeToBlock(DataOutput out) throws IOException { bfw.getMetaWriter().write(out); Writable dataWriter = bfw.getDataWriter(); if (dataWriter != null) dataWriter.write(out); } });
@Override public void append(byte[] key, byte[] value) throws IOException { writer.append(key, value); bfw.add(key, 0, key.length); }
bloomKey = generalBloomFilterWriter.createBloomKey(kv.getBuffer(), kv.getRowOffset(), kv.getRowLength(), kv.getBuffer(), kv.getQualifierOffset(), kv.getQualifierLength()); " (ROW or ROWCOL expected)"); generalBloomFilterWriter.add(bloomKey, bloomKeyOffset, bloomKeyLen); if (lastBloomKey != null && generalBloomFilterWriter.getComparator().compare(bloomKey, bloomKeyOffset, bloomKeyLen, lastBloomKey, lastBloomKeyOffset, lastBloomKeyLen) <= 0) {
bfw.compactBloom(); writer.addGeneralBloomFilter(bfw);
private void addBloomFilter(final BloomFilterWriter bfw, final BlockType blockType) { if (bfw.getKeyCount() <= 0) return; if (blockType != BlockType.GENERAL_BLOOM_META && blockType != BlockType.DELETE_FAMILY_BLOOM_META) { throw new RuntimeException("Block Type: " + blockType.toString() + "is not supported"); } additionalLoadOnOpenData.add(new BlockWritable() { @Override public BlockType getBlockType() { return blockType; } @Override public void writeToBlock(DataOutput out) throws IOException { bfw.getMetaWriter().write(out); Writable dataWriter = bfw.getDataWriter(); if (dataWriter != null) dataWriter.write(out); } }); }
@Override public final void append(byte[] key, byte[] value) throws IOException { writer.append(key, value); bfw.add(key, 0, key.length); }
bloomKey = generalBloomFilterWriter.createBloomKey(cell.getRowArray(), cell.getRowOffset(), cell.getRowLength(), cell.getQualifierArray(), cell.getQualifierOffset(), cell.getQualifierLength()); " (ROW or ROWCOL expected)"); generalBloomFilterWriter.add(bloomKey, bloomKeyOffset, bloomKeyLen); if (lastBloomKey != null && generalBloomFilterWriter.getComparator().compareFlatKey(bloomKey, bloomKeyOffset, bloomKeyLen, lastBloomKey, lastBloomKeyOffset, lastBloomKeyLen) <= 0) {
bfw.compactBloom(); writer.addGeneralBloomFilter(bfw);
private void addBloomFilter(final BloomFilterWriter bfw, final BlockType blockType) { if (bfw.getKeyCount() <= 0) return; if (blockType != BlockType.GENERAL_BLOOM_META && blockType != BlockType.DELETE_FAMILY_BLOOM_META) { throw new RuntimeException("Block Type: " + blockType.toString() + "is not supported"); } additionalLoadOnOpenData.add(new BlockWritable() { @Override public BlockType getBlockType() { return blockType; } @Override public void writeToBlock(DataOutput out) throws IOException { bfw.getMetaWriter().write(out); Writable dataWriter = bfw.getDataWriter(); if (dataWriter != null) dataWriter.write(out); } }); }
private boolean closeBloomFilter(BloomFilterWriter bfw) throws IOException { boolean haveBloom = (bfw != null && bfw.getKeyCount() > 0); if (haveBloom) { bfw.compactBloom(); } return haveBloom; }
@Override public void append(byte[] key, int keyOffset, int keyLength, byte[] value, int valueOffset, int valueLength) throws IOException { assert key != null; assert keyOffset >= 0; assert keyLength > 0; assert value != null; assert valueOffset >= 0; assert valueLength > 0; if (keyOffset != 0 || keyLength != key.length) { byte[] newKey = new byte[keyLength]; System.arraycopy(key, keyOffset, newKey, 0, keyLength); key = newKey; } if (valueOffset != 0 || valueLength != value.length) { byte[] newValue = new byte[valueLength]; System.arraycopy(value, valueOffset, newValue, 0, valueLength); value = newValue; } writer.append(key, value); bfw.add(key, 0, key.length); }
bfw.compactBloom(); writer.addGeneralBloomFilter(bfw);
/** * Version 1 general Bloom filters are stored in two meta blocks with two different * keys. */ @Override public void addGeneralBloomFilter(BloomFilterWriter bfw) { appendMetaBlock(BLOOM_FILTER_META_KEY, bfw.getMetaWriter()); Writable dataWriter = bfw.getDataWriter(); if (dataWriter != null) { appendMetaBlock(BLOOM_FILTER_DATA_KEY, dataWriter); } }
private void addBloomFilter(final BloomFilterWriter bfw, final BlockType blockType) { if (bfw.getKeyCount() <= 0) return; if (blockType != BlockType.GENERAL_BLOOM_META && blockType != BlockType.DELETE_FAMILY_BLOOM_META) { throw new RuntimeException("Block Type: " + blockType.toString() + "is not supported"); } additionalLoadOnOpenData.add(new BlockWritable() { @Override public BlockType getBlockType() { return blockType; } @Override public void writeToBlock(DataOutput out) throws IOException { bfw.getMetaWriter().write(out); Writable dataWriter = bfw.getDataWriter(); if (dataWriter != null) dataWriter.write(out); } }); }
private boolean closeBloomFilter(BloomFilterWriter bfw) throws IOException { boolean haveBloom = (bfw != null && bfw.getKeyCount() > 0); if (haveBloom) { bfw.compactBloom(); } return haveBloom; }
@Override public void append(ByteBuffer key, ByteBuffer value) throws IOException { byte[] keyBytes = byteBufferToArray(key); byte[] valueBytes = byteBufferToArray(value); writer.append(keyBytes, valueBytes); bfw.add(keyBytes, 0, keyBytes.length); }
bfw.add(keyBytes, 0, keyLength);
@Override public void append(byte[] key, byte[] value) throws IOException { assert key != null; assert value != null; if (logger.finestEnabled()) { logger.finest(String.format("Appending key %s to %s", Hex.toHex(key), path)); } try { writer.append(key, value); if (bfw != null) { bfw.add(key, 0, key.length); } } catch (IOException e) { throw (IOException) e.fillInStackTrace(); } }
private void appendDeleteFamilyBloomFilter(final KeyValue kv) throws IOException { if (!kv.isDeleteFamily()) { return; } // increase the number of delete family in the store file deleteFamilyCnt++; if (null != this.deleteFamilyBloomFilterWriter) { boolean newKey = true; if (lastDeleteFamilyKV != null) { newKey = !kvComparator.matchingRows(kv, lastDeleteFamilyKV); } if (newKey) { this.deleteFamilyBloomFilterWriter.add(kv.getBuffer(), kv.getRowOffset(), kv.getRowLength()); this.lastDeleteFamilyKV = kv; } } }