You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by yo...@apache.org on 2015/08/18 16:04:06 UTC
svn commit: r1696417 - in /lucene/dev/trunk/solr: CHANGES.txt
core/src/java/org/apache/solr/core/SolrCore.java
Author: yonik
Date: Tue Aug 18 14:04:06 2015
New Revision: 1696417
URL: http://svn.apache.org/r1696417
Log:
SOLR-7935:fix race that can cause a NPE in openNewSearcher called from an update concurrent with a core reload
Modified:
lucene/dev/trunk/solr/CHANGES.txt
lucene/dev/trunk/solr/core/src/java/org/apache/solr/core/SolrCore.java
Modified: lucene/dev/trunk/solr/CHANGES.txt
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/CHANGES.txt?rev=1696417&r1=1696416&r2=1696417&view=diff
==============================================================================
--- lucene/dev/trunk/solr/CHANGES.txt (original)
+++ lucene/dev/trunk/solr/CHANGES.txt Tue Aug 18 14:04:06 2015
@@ -139,6 +139,9 @@ Bug Fixes
* SOLR-7920: Resolve XSS issue in Admin UI Schema Browser (David Chiu via Upayavira)
+* SOLR-7935: Fix very rare race condition that can cause an update to fail
+ via NullPointerException during a core reload. (yonik)
+
Optimizations
----------------------
Modified: lucene/dev/trunk/solr/core/src/java/org/apache/solr/core/SolrCore.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/core/src/java/org/apache/solr/core/SolrCore.java?rev=1696417&r1=1696416&r2=1696417&view=diff
==============================================================================
--- lucene/dev/trunk/solr/core/src/java/org/apache/solr/core/SolrCore.java (original)
+++ lucene/dev/trunk/solr/core/src/java/org/apache/solr/core/SolrCore.java Tue Aug 18 14:04:06 2015
@@ -1584,8 +1584,8 @@ public final class SolrCore implements S
// SolrCore.verbose("start reopen from",previousSearcher,"writer=",writer);
- RefCounted<IndexWriter> writer = getUpdateHandler().getSolrCoreState()
- .getIndexWriter(null);
+ RefCounted<IndexWriter> writer = getSolrCoreState().getIndexWriter(null);
+
try {
if (writer != null) {
// if in NRT mode, open from the writer
@@ -1639,7 +1639,7 @@ public final class SolrCore implements S
tmp = new SolrIndexSearcher(this, newIndexDir, getLatestSchema(),
(realtime ? "realtime":"main"), newReader, true, !realtime, true, directoryFactory);
} else {
- RefCounted<IndexWriter> writer = getUpdateHandler().getSolrCoreState().getIndexWriter(this);
+ RefCounted<IndexWriter> writer = getSolrCoreState().getIndexWriter(this);
DirectoryReader newReader = null;
try {
newReader = indexReaderFactory.newReader(writer.get(), this);