From 86039cdb361babf39552aac44b9cc789134e2f11 Mon Sep 17 00:00:00 2001 From: Michael McCandless Date: Mon, 14 Dec 2009 18:59:21 +0000 Subject: [PATCH] LUCENE-2135: don't flush field cache if we hit exception during init (it leads to NPE) git-svn-id: https://svn.apache.org/repos/asf/lucene/java/trunk@890439 13f79535-47bb-0310-9956-ffa450edef68 --- src/java/org/apache/lucene/index/SegmentReader.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/java/org/apache/lucene/index/SegmentReader.java b/src/java/org/apache/lucene/index/SegmentReader.java index 75da673dc8e..09aa6452030 100644 --- a/src/java/org/apache/lucene/index/SegmentReader.java +++ b/src/java/org/apache/lucene/index/SegmentReader.java @@ -106,7 +106,6 @@ public class SegmentReader extends IndexReader implements Cloneable { segment = si.name; this.readBufferSize = readBufferSize; this.dir = dir; - this.origInstance = origInstance; boolean success = false; @@ -144,6 +143,12 @@ public class SegmentReader extends IndexReader implements Cloneable { decRef(); } } + + // Must assign this at the end -- if we hit an + // exception above core, we don't want to attempt to + // purge the FieldCache (will hit NPE because core is + // not assigned yet). + this.origInstance = origInstance; } synchronized TermVectorsReader getTermVectorsReaderOrig() {