You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by ma...@apache.org on 2014/01/06 07:15:16 UTC
svn commit: r1555685 -
/lucene/dev/trunk/solr/core/src/java/org/apache/solr/handler/admin/CoreAdminHandler.java
Author: markrmiller
Date: Mon Jan 6 06:15:15 2014
New Revision: 1555685
URL: http://svn.apache.org/r1555685
Log:
SOLR-5608: Unregister core from cloud state after closing in unload.
Modified:
lucene/dev/trunk/solr/core/src/java/org/apache/solr/handler/admin/CoreAdminHandler.java
Modified: lucene/dev/trunk/solr/core/src/java/org/apache/solr/handler/admin/CoreAdminHandler.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/core/src/java/org/apache/solr/handler/admin/CoreAdminHandler.java?rev=1555685&r1=1555684&r2=1555685&view=diff
==============================================================================
--- lucene/dev/trunk/solr/core/src/java/org/apache/solr/handler/admin/CoreAdminHandler.java (original)
+++ lucene/dev/trunk/solr/core/src/java/org/apache/solr/handler/admin/CoreAdminHandler.java Mon Jan 6 06:15:15 2014
@@ -597,28 +597,11 @@ public class CoreAdminHandler extends Re
} else {
if (coreContainer.getZkController() != null) {
// we are unloading, cancel any ongoing recovery
- // so there are no races to publish state
- // we will try to cancel again later before close
if (core != null) {
if (coreContainer.getZkController() != null) {
core.getSolrCoreState().cancelRecovery();
}
}
-
- log.info("Unregistering core " + core.getName() + " from cloudstate.");
- try {
- coreContainer.getZkController().unregister(cname,
- core.getCoreDescriptor());
- } catch (InterruptedException e) {
- Thread.currentThread().interrupt();
- throw new SolrException(SolrException.ErrorCode.SERVER_ERROR,
- "Could not unregister core " + cname + " from cloudstate: "
- + e.getMessage(), e);
- } catch (KeeperException e) {
- throw new SolrException(SolrException.ErrorCode.SERVER_ERROR,
- "Could not unregister core " + cname + " from cloudstate: "
- + e.getMessage(), e);
- }
}
if (params.getBool(CoreAdminParams.DELETE_INDEX, false)) {
@@ -672,6 +655,23 @@ public class CoreAdminHandler extends Re
if (closeCore) {
core.close();
}
+
+ if (coreContainer.getZkController() != null) {
+ log.info("Unregistering core " + core.getName() + " from cloudstate.");
+ try {
+ coreContainer.getZkController().unregister(cname,
+ core.getCoreDescriptor());
+ } catch (InterruptedException e) {
+ Thread.currentThread().interrupt();
+ throw new SolrException(SolrException.ErrorCode.SERVER_ERROR,
+ "Could not unregister core " + cname + " from cloudstate: "
+ + e.getMessage(), e);
+ } catch (KeeperException e) {
+ throw new SolrException(SolrException.ErrorCode.SERVER_ERROR,
+ "Could not unregister core " + cname + " from cloudstate: "
+ + e.getMessage(), e);
+ }
+ }
}
}