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); } }
