Changeset 27872
- Timestamp:
- 2013-07-16T01:23:23+12:00 (10 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
gs3-extensions/solr/trunk/src/src/java/org/greenstone/gsdl3/service/GS2SolrSearch.java
r27867 r27872 173 173 String collection_core_name_prefix = getCollectionCoreNamePrefix(); 174 174 175 Collection<String> coreNames = all_solr_cores.getCoreNames(); 176 if(!coreNames.isEmpty()) { 177 Iterator<String> coreIterator = coreNames.iterator(); 178 while(coreIterator.hasNext()) { 179 180 String solrCoreName = coreIterator.next(); 181 if(solrCoreName.startsWith(collection_core_name_prefix)) { 182 183 logger.error("**** Removing collection-specific core: " + solrCoreName + " from CoreContainer"); 184 185 // CoreContainer.remove(String name): removes and returns registered core w/o decrementing it's reference count 186 // http://lucene.apache.org/solr/api/index.html?org/apache/solr/core/CoreContainer.html 187 SolrCore solr_core = all_solr_cores.remove(solrCoreName); 188 while(!solr_core.isClosed()) { 189 logger.error("@@@@@@ " + solrCoreName + " was not closed. Closing...."); 190 solr_core.close(); // http://lucene.apache.org/solr/api/org/apache/solr/core/SolrCore.html 191 } 192 if(solr_core.isClosed()) { 193 logger.error("@@@@@@ " + solrCoreName + " is closed."); 175 if (all_solr_cores!=null) { 176 Collection<String> coreNames = all_solr_cores.getCoreNames(); 177 if(!coreNames.isEmpty()) { 178 Iterator<String> coreIterator = coreNames.iterator(); 179 while(coreIterator.hasNext()) { 180 181 String solrCoreName = coreIterator.next(); 182 if(solrCoreName.startsWith(collection_core_name_prefix)) { 183 184 logger.error("**** Removing collection-specific core: " + solrCoreName + " from CoreContainer"); 185 186 // CoreContainer.remove(String name): removes and returns registered core w/o decrementing it's reference count 187 // http://lucene.apache.org/solr/api/index.html?org/apache/solr/core/CoreContainer.html 188 SolrCore solr_core = all_solr_cores.remove(solrCoreName); 189 while(!solr_core.isClosed()) { 190 logger.error("@@@@@@ " + solrCoreName + " was not closed. Closing...."); 191 solr_core.close(); // http://lucene.apache.org/solr/api/org/apache/solr/core/SolrCore.html 192 } 193 if(solr_core.isClosed()) { 194 logger.error("@@@@@@ " + solrCoreName + " is closed."); 195 } 196 solr_core = null; 194 197 } 195 solr_core = null;196 198 } 197 199 } … … 201 203 // All going well, this will happen when we're ant stopping the Greenstone server and the last Solr collection 202 204 // is being deactivated 203 Collection<String> coreNamesRemaining = all_solr_cores.getCoreNames(); 204 if(coreNamesRemaining.isEmpty()) { 205 logger.error("**** CoreContainer contains 0 solrCores. Shutting down..."); 206 207 all_solr_cores.shutdown(); // wouldn't do anything anyway for 0 cores I think 208 all_solr_cores = null; 209 } 210 else { // else part is just for debugging 211 Iterator coreIterator = coreNamesRemaining.iterator(); 212 while(coreIterator.hasNext()) { 213 logger.error("**** Core: " + coreIterator.next() + " still exists in CoreContainer"); 205 206 if (all_solr_cores!=null) { 207 Collection<String> coreNamesRemaining = all_solr_cores.getCoreNames(); 208 if(coreNamesRemaining.isEmpty()) { 209 logger.error("**** CoreContainer contains 0 solrCores. Shutting down..."); 210 211 all_solr_cores.shutdown(); // wouldn't do anything anyway for 0 cores I think 212 all_solr_cores = null; 213 } 214 else { // else part is just for debugging 215 Iterator coreIterator = coreNamesRemaining.iterator(); 216 while(coreIterator.hasNext()) { 217 logger.error("**** Core: " + coreIterator.next() + " still exists in CoreContainer"); 218 } 214 219 } 215 220 }
Note:
See TracChangeset
for help on using the changeset viewer.