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:20:09 UTC
svn commit: r1555687 - in /lucene/dev/branches/lucene_solr_4_6: ./ solr/
solr/core/
solr/core/src/java/org/apache/solr/handler/admin/CoreAdminHandler.java
Author: markrmiller
Date: Mon Jan 6 06:20:09 2014
New Revision: 1555687
URL: http://svn.apache.org/r1555687
Log:
SOLR-5608: Unregister core from cloud state after closing in unload.
Modified:
lucene/dev/branches/lucene_solr_4_6/ (props changed)
lucene/dev/branches/lucene_solr_4_6/solr/ (props changed)
lucene/dev/branches/lucene_solr_4_6/solr/core/ (props changed)
lucene/dev/branches/lucene_solr_4_6/solr/core/src/java/org/apache/solr/handler/admin/CoreAdminHandler.java
Modified: lucene/dev/branches/lucene_solr_4_6/solr/core/src/java/org/apache/solr/handler/admin/CoreAdminHandler.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene_solr_4_6/solr/core/src/java/org/apache/solr/handler/admin/CoreAdminHandler.java?rev=1555687&r1=1555686&r2=1555687&view=diff
==============================================================================
--- lucene/dev/branches/lucene_solr_4_6/solr/core/src/java/org/apache/solr/handler/admin/CoreAdminHandler.java (original)
+++ lucene/dev/branches/lucene_solr_4_6/solr/core/src/java/org/apache/solr/handler/admin/CoreAdminHandler.java Mon Jan 6 06:20:09 2014
@@ -593,19 +593,11 @@ public class CoreAdminHandler extends Re
"No such core exists '" + cname + "'");
} else {
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);
+ // we are unloading, cancel any ongoing recovery
+ if (core != null) {
+ if (coreContainer.getZkController() != null) {
+ core.getSolrCoreState().cancelRecovery();
+ }
}
}
@@ -660,6 +652,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);
+ }
+ }
}
}