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 fca6babc33 Improve error messages when creating star-tree indexes 
(#13818)
fca6babc33 is described below

commit fca6babc3352b8e491e58fbec8d7b3811549a44c
Author: Gonzalo Ortiz Jaureguizar <[email protected]>
AuthorDate: Sat Aug 17 02:10:49 2024 +0200

    Improve error messages when creating star-tree indexes (#13818)
---
 .../writer/impl/BaseChunkForwardIndexWriter.java   |  3 ++-
 .../startree/v2/builder/BaseSingleTreeBuilder.java | 30 +++++++++++++++++++---
 2 files changed, 28 insertions(+), 5 deletions(-)

diff --git 
a/pinot-segment-local/src/main/java/org/apache/pinot/segment/local/io/writer/impl/BaseChunkForwardIndexWriter.java
 
b/pinot-segment-local/src/main/java/org/apache/pinot/segment/local/io/writer/impl/BaseChunkForwardIndexWriter.java
index 0cdff5ce61..88cce9d85d 100644
--- 
a/pinot-segment-local/src/main/java/org/apache/pinot/segment/local/io/writer/impl/BaseChunkForwardIndexWriter.java
+++ 
b/pinot-segment-local/src/main/java/org/apache/pinot/segment/local/io/writer/impl/BaseChunkForwardIndexWriter.java
@@ -186,7 +186,8 @@ public abstract class BaseChunkForwardIndexWriter 
implements Closeable {
     }
 
     if (_headerEntryChunkOffsetSize == Integer.BYTES) {
-      Preconditions.checkState(_dataOffset <= Integer.MAX_VALUE, "Integer 
overflow detected");
+      Preconditions.checkState(_dataOffset <= Integer.MAX_VALUE, "Integer 
overflow detected. "
+          + "Try to use raw version 3 or 4, reduce targetDocsPerChunk or 
targetMaxChunkSize");
       _header.putInt((int) _dataOffset);
     } else if (_headerEntryChunkOffsetSize == Long.BYTES) {
       _header.putLong(_dataOffset);
diff --git 
a/pinot-segment-local/src/main/java/org/apache/pinot/segment/local/startree/v2/builder/BaseSingleTreeBuilder.java
 
b/pinot-segment-local/src/main/java/org/apache/pinot/segment/local/startree/v2/builder/BaseSingleTreeBuilder.java
index c0f9fba227..74bd791d2c 100644
--- 
a/pinot-segment-local/src/main/java/org/apache/pinot/segment/local/startree/v2/builder/BaseSingleTreeBuilder.java
+++ 
b/pinot-segment-local/src/main/java/org/apache/pinot/segment/local/startree/v2/builder/BaseSingleTreeBuilder.java
@@ -489,6 +489,7 @@ abstract class BaseSingleTreeBuilder implements 
SingleTreeBuilder {
       }
     }
 
+    Exception t = null;
     try {
       for (int docId = 0; docId < _numDocs; docId++) {
         Record record = getStarTreeRecord(docId);
@@ -519,14 +520,35 @@ abstract class BaseSingleTreeBuilder implements 
SingleTreeBuilder {
           }
         }
       }
+    } catch (Exception e) {
+      LOGGER.error("Caught exception while creating forward indexes", e);
+      t = e;
     } finally {
-      for (SingleValueUnsortedForwardIndexCreator dimensionIndexCreator : 
dimensionIndexCreators) {
-        dimensionIndexCreator.close();
+      for (int i = 0; i < dimensionIndexCreators.length; i++) {
+        try {
+          dimensionIndexCreators[i].close();
+        } catch (Exception e) {
+          LOGGER.warn("Caught exception while closing dimension index creator 
for dimension: {}",
+              _dimensionsSplitOrder[i], e);
+          if (t == null) {
+            t = e;
+          }
+        }
       }
-      for (ForwardIndexCreator metricIndexCreator : metricIndexCreators) {
-        metricIndexCreator.close();
+      for (int i = 0; i < metricIndexCreators.length; i++) {
+        try {
+          metricIndexCreators[i].close();
+        } catch (Exception e) {
+          LOGGER.warn("Caught exception while closing metric index creator for 
metric: {}", _metrics[i], e);
+          if (t == null) {
+            t = e;
+          }
+        }
       }
     }
+    if (t != null) {
+      throw t;
+    }
   }
 
   @Override


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

Reply via email to