From c33118ce897ccf3c58677c19bd97f519202648c2 Mon Sep 17 00:00:00 2001 From: Mark Robert Miller Date: Tue, 17 Jul 2012 14:03:40 +0000 Subject: [PATCH] SOLR-3621: release writer get lock in a finally git-svn-id: https://svn.apache.org/repos/asf/lucene/dev/trunk@1362500 13f79535-47bb-0310-9956-ffa450edef68 --- .../solr/update/DefaultSolrCoreState.java | 20 ++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/solr/core/src/java/org/apache/solr/update/DefaultSolrCoreState.java b/solr/core/src/java/org/apache/solr/update/DefaultSolrCoreState.java index 904e011b8e9..08e28c88a18 100644 --- a/solr/core/src/java/org/apache/solr/update/DefaultSolrCoreState.java +++ b/solr/core/src/java/org/apache/solr/update/DefaultSolrCoreState.java @@ -92,16 +92,18 @@ public final class DefaultSolrCoreState extends SolrCoreState { wait(); } catch (InterruptedException e) {} } - - if (indexWriter != null) { - indexWriter.close(); + try { + if (indexWriter != null) { + indexWriter.close(); + } + indexWriter = createMainIndexWriter(core, "DirectUpdateHandler2", false, + true); + // we need to null this so it picks up the new writer next get call + refCntWriter = null; + } finally { + pauseWriter = false; + notifyAll(); } - indexWriter = createMainIndexWriter(core, "DirectUpdateHandler2", - false, true); - // we need to null this so it picks up the new writer next get call - refCntWriter = null; - pauseWriter = false; - notifyAll(); } @Override