lucene-solr-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Xiaolu Zhao <xiaolu.z...@oracle.com>
Subject Difference between unloading of cores with LotsOfCores and unloading a core with CoreAdmin
Date Wed, 22 Oct 2014 16:11:53 GMT
Hi All,

I am confused about the difference between unloading of cores with 
LotsOfCores and unloading a core with CoreAdmin.

 From my understanding of LotsOfCores, if one core is removed from 
transient cache, it is pending to close, it means close all resources 
allocated by the core if it is no longer in use, e.g. searcher, 
updateHandler... While for unloading a core with CoreAdmin, this core 
needs to be removed from the cores list, either ordinary cores list or 
transient cores list, and cores locator will delete it. If this core is 
loaded but not pending to close, it will be close.

Also, one more interesting thing is if I unload a core with CoreAdmin, 
"core.properties" will be renamed "core.properties.unloaded". Then this 
core cannot be found in the Solr API, and STATUS url won't return its 
status as well. But with LotsOfCores, a core not in the transient cache 
will still have "core.properties" and could be found through STATUS url, 
though it is marked with "isLoaded=false".

Could anyone tell me the underlying mechanism for these two cases? Why 
LotsOfCores could realize frequent unloading/loading of cores? Do cores 
not in the transient cores still consume JVM memory, while unloaded 
cores with CoreAdmin not?

Thanks,
Xiaolu

Mime
View raw message