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/incubator-pinot.git


The following commit(s) were added to refs/heads/master by this push:
     new 08ed07c  Simplify the schema check in SegmentConverter (#6931)
08ed07c is described below

commit 08ed07ce27cd56b341fa634fa1cad9e440f39f6e
Author: Xiaotian (Jackie) Jiang <17555551+jackie-ji...@users.noreply.github.com>
AuthorDate: Mon May 17 22:13:46 2021 -0700

    Simplify the schema check in SegmentConverter (#6931)
---
 .../org/apache/pinot/core/minion/SegmentConverter.java   | 16 +++++++---------
 1 file changed, 7 insertions(+), 9 deletions(-)

diff --git 
a/pinot-core/src/main/java/org/apache/pinot/core/minion/SegmentConverter.java 
b/pinot-core/src/main/java/org/apache/pinot/core/minion/SegmentConverter.java
index c2321ba..72482ed 100644
--- 
a/pinot-core/src/main/java/org/apache/pinot/core/minion/SegmentConverter.java
+++ 
b/pinot-core/src/main/java/org/apache/pinot/core/minion/SegmentConverter.java
@@ -22,9 +22,7 @@ import com.google.common.base.Preconditions;
 import java.io.File;
 import java.io.IOException;
 import java.util.ArrayList;
-import java.util.HashSet;
 import java.util.List;
-import java.util.Set;
 import javax.annotation.Nullable;
 import org.apache.commons.collections.CollectionUtils;
 import org.apache.pinot.core.minion.segment.DefaultRecordPartitioner;
@@ -97,18 +95,18 @@ public class SegmentConverter {
     _skipTimeValueCheck = skipTimeValueCheck;
 
     // Validate that segment schemas from all segments are the same
-    Set<Schema> schemas = new HashSet<>();
     for (File indexDir : inputIndexDirs) {
+      Schema schema;
       try {
-        schemas.add(new SegmentMetadataImpl(indexDir).getSchema());
+        schema = new SegmentMetadataImpl(indexDir).getSchema();
       } catch (IOException e) {
         throw new RuntimeException("Caught exception while reading schema 
from: " + indexDir);
       }
-    }
-    if (schemas.size() == 1) {
-      _schema = schemas.iterator().next();
-    } else {
-      throw new IllegalStateException("Schemas from input segments are not the 
same");
+      if (_schema == null) {
+        _schema = schema;
+      } else {
+        Preconditions.checkState(_schema.equals(schema), "Schemas from input 
segments are not the same");
+      }
     }
   }
 

---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@pinot.apache.org
For additional commands, e-mail: commits-h...@pinot.apache.org

Reply via email to