Skip to content

Commit a0ca8fb

Browse files
committed
Fix
1 parent c2a9901 commit a0ca8fb

3 files changed

Lines changed: 5 additions & 4 deletions

File tree

iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/sink/util/TabletStatementConverter.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@
2727
import org.apache.iotdb.db.pipe.resource.memory.InsertNodeMemoryEstimator;
2828
import org.apache.iotdb.db.queryengine.plan.analyze.cache.schema.DataNodeDevicePathCache;
2929
import org.apache.iotdb.db.queryengine.plan.statement.crud.InsertTabletStatement;
30+
import org.apache.iotdb.db.utils.BitMapUtils;
3031

3132
import org.apache.tsfile.enums.ColumnCategory;
3233
import org.apache.tsfile.enums.TSDataType;
@@ -347,7 +348,7 @@ private static Pair<BitMap[], Long> readBitMapsFromBufferWithMemory(
347348
final Binary valueBinary = ReadWriteIOUtils.readBinary(byteBuffer);
348349
final byte[] byteArray = valueBinary.getValues();
349350
final BitMap bitMap = new BitMap(size, byteArray);
350-
if (bitMap.isAllUnmarked(Math.min(rowSize, bitMap.getSize()))) {
351+
if (BitMapUtils.isAllUnmarked(bitMap, rowSize)) {
351352
continue;
352353
}
353354
bitMaps[i] = bitMap;

iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/write/InsertTabletNode.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -456,7 +456,7 @@ protected BitMap[] initBitmapsForSplit(int columnSize, int rowSize) {
456456
boolean hasBitMap = false;
457457
for (int i = 0; i < columnSize && i < this.bitMaps.length; ++i) {
458458
if (this.bitMaps[i] != null
459-
&& !this.bitMaps[i].isAllUnmarked(Math.min(sourceRowCount, this.bitMaps[i].getSize()))) {
459+
&& !BitMapUtils.isAllUnmarked(this.bitMaps[i], sourceRowCount)) {
460460
splitBitMaps[i] = new BitMap(rowSize);
461461
hasBitMap = true;
462462
}

iotdb-core/datanode/src/main/java/org/apache/iotdb/db/utils/BitMapUtils.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ public static BitMap[] compactBitMaps(final BitMap[] bitMaps, final int rowCount
4444
return hasMarkedBitMap ? bitMaps : null;
4545
}
4646

47-
private static boolean isAllUnmarked(final BitMap bitMap, final int rowCount) {
47+
public static boolean isAllUnmarked(final BitMap bitMap, final int rowCount) {
4848
final int checkedSize = Math.min(rowCount, bitMap.getSize());
4949
if (checkedSize <= 0) {
5050
return true;
@@ -60,6 +60,6 @@ private static boolean isAllUnmarked(final BitMap bitMap, final int rowCount) {
6060

6161
final int remainingBitCount = checkedSize % Byte.SIZE;
6262
return remainingBitCount == 0
63-
|| (bytes[fullByteCount] & (0xFF << (Byte.SIZE - remainingBitCount))) == 0;
63+
|| (bytes[fullByteCount] & ((1 << remainingBitCount) - 1)) == 0;
6464
}
6565
}

0 commit comments

Comments
 (0)