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

reschke pushed a commit to branch OAK-10719
in repository https://gitbox.apache.org/repos/asf/jackrabbit-oak.git

commit ce08beae1bb379301c38b73405b96b7fa75cfbd2
Author: Julian Reschke <[email protected]>
AuthorDate: Mon May 6 10:46:01 2024 +0100

    OAK-10786: oak-lucene: use copy of lucene-core 4.7.2 source code - fix two 
issues JDK 11 incompatibility
---
 .../apache/lucene/codecs/lucene42/Lucene42DocValuesProducer.java   | 7 ++++---
 .../apache/lucene/codecs/lucene45/Lucene45DocValuesProducer.java   | 7 ++++---
 2 files changed, 8 insertions(+), 6 deletions(-)

diff --git 
a/oak-lucene/src/main/java/org/apache/lucene/codecs/lucene42/Lucene42DocValuesProducer.java
 
b/oak-lucene/src/main/java/org/apache/lucene/codecs/lucene42/Lucene42DocValuesProducer.java
index b2ae156821..67f14cdb2d 100644
--- 
a/oak-lucene/src/main/java/org/apache/lucene/codecs/lucene42/Lucene42DocValuesProducer.java
+++ 
b/oak-lucene/src/main/java/org/apache/lucene/codecs/lucene42/Lucene42DocValuesProducer.java
@@ -119,9 +119,10 @@ class Lucene42DocValuesProducer extends DocValuesProducer {
     }
 
     success = false;
+    IndexInput tmp = null;
     try {
       String dataName = IndexFileNames.segmentFileName(state.segmentInfo.name, 
state.segmentSuffix, dataExtension);
-      data = state.directory.openInput(dataName, state.context);
+      data = tmp = state.directory.openInput(dataName, state.context);
       final int version2 = CodecUtil.checkHeader(data, dataCodec, 
                                                  VERSION_START,
                                                  VERSION_CURRENT);
@@ -131,8 +132,8 @@ class Lucene42DocValuesProducer extends DocValuesProducer {
 
       success = true;
     } finally {
-      if (!success) {
-        IOUtils.closeWhileHandlingException(this.data);
+      if (!success && tmp != null) {
+        IOUtils.closeWhileHandlingException(tmp);
       }
     }
   }
diff --git 
a/oak-lucene/src/main/java/org/apache/lucene/codecs/lucene45/Lucene45DocValuesProducer.java
 
b/oak-lucene/src/main/java/org/apache/lucene/codecs/lucene45/Lucene45DocValuesProducer.java
index d14b5b7971..5eed771fb7 100644
--- 
a/oak-lucene/src/main/java/org/apache/lucene/codecs/lucene45/Lucene45DocValuesProducer.java
+++ 
b/oak-lucene/src/main/java/org/apache/lucene/codecs/lucene45/Lucene45DocValuesProducer.java
@@ -104,9 +104,10 @@ public class Lucene45DocValuesProducer extends 
DocValuesProducer implements Clos
     }
 
     success = false;
+    IndexInput tmp = null;
     try {
       String dataName = IndexFileNames.segmentFileName(state.segmentInfo.name, 
state.segmentSuffix, dataExtension);
-      data = state.directory.openInput(dataName, state.context);
+      data = tmp = state.directory.openInput(dataName, state.context);
       final int version2 = CodecUtil.checkHeader(data, dataCodec, 
                                                  
Lucene45DocValuesFormat.VERSION_START,
                                                  
Lucene45DocValuesFormat.VERSION_CURRENT);
@@ -116,8 +117,8 @@ public class Lucene45DocValuesProducer extends 
DocValuesProducer implements Clos
 
       success = true;
     } finally {
-      if (!success) {
-        IOUtils.closeWhileHandlingException(this.data);
+      if (!success && tmp != null) {
+        IOUtils.closeWhileHandlingException(tmp);
       }
     }
     

Reply via email to