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

xiangfu 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 e53aa219803 Skip unknown index types when loading 
SingleFileIndexDirectory (#17992)
e53aa219803 is described below

commit e53aa219803fd7ead57c512b73d47411cfb118a5
Author: Xiang Fu <[email protected]>
AuthorDate: Thu Mar 26 16:17:23 2026 -0700

    Skip unknown index types when loading SingleFileIndexDirectory (#17992)
    
    Gracefully handle unknown index types in the index map by logging a
    warning and skipping the entry instead of throwing an exception. This
    improves forward compatibility when segments contain index types not
    yet recognized by the current version.
    
    Co-authored-by: Claude Opus 4.6 <[email protected]>
---
 .../segment/local/segment/store/SingleFileIndexDirectory.java    | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git 
a/pinot-segment-local/src/main/java/org/apache/pinot/segment/local/segment/store/SingleFileIndexDirectory.java
 
b/pinot-segment-local/src/main/java/org/apache/pinot/segment/local/segment/store/SingleFileIndexDirectory.java
index 2e31cdbabc7..08e59c3bc1a 100644
--- 
a/pinot-segment-local/src/main/java/org/apache/pinot/segment/local/segment/store/SingleFileIndexDirectory.java
+++ 
b/pinot-segment-local/src/main/java/org/apache/pinot/segment/local/segment/store/SingleFileIndexDirectory.java
@@ -233,7 +233,14 @@ class SingleFileIndexDirectory extends 
ColumnIndexDirectory {
 
     for (String key : CommonsConfigurationUtils.getKeys(mapConfig)) {
       String[] parsedKeys = ColumnIndexUtils.parseIndexMapKeys(key, 
_segmentDirectory.getPath());
-      IndexKey indexKey = IndexKey.fromIndexName(parsedKeys[0], parsedKeys[1]);
+      IndexKey indexKey;
+      try {
+        indexKey = IndexKey.fromIndexName(parsedKeys[0], parsedKeys[1]);
+      } catch (IllegalArgumentException e) {
+        LOGGER.warn("Skipping unknown index type: {} for column: {} in 
segment: {}", parsedKeys[1], parsedKeys[0],
+            _segmentDirectory);
+        continue;
+      }
       IndexEntry entry = _columnEntries.get(indexKey);
       if (entry == null) {
         entry = new IndexEntry(indexKey);


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

Reply via email to