This is an automated email from the ASF dual-hosted git repository.

jackie pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/pinot.git


The following commit(s) were added to refs/heads/master by this push:
     new e3d240b5b4 [Minor] Improve exception message when 
FixedBitIntReaderWriter has buffer size mismatch (#15068)
e3d240b5b4 is described below

commit e3d240b5b45d4ce5cdea0b2023b8e8dfdbfa6b3d
Author: Xiaotian (Jackie) Jiang <[email protected]>
AuthorDate: Fri Feb 14 13:56:52 2025 -0800

    [Minor] Improve exception message when FixedBitIntReaderWriter has buffer 
size mismatch (#15068)
---
 .../pinot/segment/local/io/util/FixedBitIntReaderWriter.java      | 7 +++++--
 .../pinot/segment/local/io/util/FixedBitIntReaderWriterV2.java    | 8 +++++---
 2 files changed, 10 insertions(+), 5 deletions(-)

diff --git 
a/pinot-segment-local/src/main/java/org/apache/pinot/segment/local/io/util/FixedBitIntReaderWriter.java
 
b/pinot-segment-local/src/main/java/org/apache/pinot/segment/local/io/util/FixedBitIntReaderWriter.java
index 3ef165740f..9bf432592b 100644
--- 
a/pinot-segment-local/src/main/java/org/apache/pinot/segment/local/io/util/FixedBitIntReaderWriter.java
+++ 
b/pinot-segment-local/src/main/java/org/apache/pinot/segment/local/io/util/FixedBitIntReaderWriter.java
@@ -28,8 +28,11 @@ public final class FixedBitIntReaderWriter implements 
Closeable {
   private final int _numBitsPerValue;
 
   public FixedBitIntReaderWriter(PinotDataBuffer dataBuffer, int numValues, 
int numBitsPerValue) {
-    Preconditions
-        .checkState(dataBuffer.size() == (int) (((long) numValues * 
numBitsPerValue + Byte.SIZE - 1) / Byte.SIZE));
+    long actualBufferSize = dataBuffer.size();
+    long expectedBufferSize = ((long) numValues * numBitsPerValue + Byte.SIZE 
- 1) / Byte.SIZE;
+    Preconditions.checkState(actualBufferSize == expectedBufferSize, "Buffer 
size mismatch: actual: %s, expected: %s",
+        actualBufferSize, expectedBufferSize);
+    Preconditions.checkState(actualBufferSize <= Integer.MAX_VALUE, "Buffer 
size too large: %s", actualBufferSize);
     _dataBitSet = new PinotDataBitSet(dataBuffer);
     _numBitsPerValue = numBitsPerValue;
   }
diff --git 
a/pinot-segment-local/src/main/java/org/apache/pinot/segment/local/io/util/FixedBitIntReaderWriterV2.java
 
b/pinot-segment-local/src/main/java/org/apache/pinot/segment/local/io/util/FixedBitIntReaderWriterV2.java
index 5dfbeeb5cf..950dc25ae0 100644
--- 
a/pinot-segment-local/src/main/java/org/apache/pinot/segment/local/io/util/FixedBitIntReaderWriterV2.java
+++ 
b/pinot-segment-local/src/main/java/org/apache/pinot/segment/local/io/util/FixedBitIntReaderWriterV2.java
@@ -25,11 +25,13 @@ import org.apache.pinot.segment.spi.memory.PinotDataBuffer;
 
 
 public final class FixedBitIntReaderWriterV2 implements Closeable {
-  private PinotDataBitSetV2 _dataBitSet;
+  private final PinotDataBitSetV2 _dataBitSet;
 
   public FixedBitIntReaderWriterV2(PinotDataBuffer dataBuffer, int numValues, 
int numBitsPerValue) {
-    Preconditions
-        .checkState(dataBuffer.size() == (int) (((long) numValues * 
numBitsPerValue + Byte.SIZE - 1) / Byte.SIZE));
+    long actualBufferSize = dataBuffer.size();
+    long expectedBufferSize = ((long) numValues * numBitsPerValue + Byte.SIZE 
- 1) / Byte.SIZE;
+    Preconditions.checkState(actualBufferSize == expectedBufferSize, "Buffer 
size mismatch: actual: %s, expected: %s",
+        actualBufferSize, expectedBufferSize);
     _dataBitSet = PinotDataBitSetV2.createBitSet(dataBuffer, numBitsPerValue);
   }
 


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to