Any idea on this? I still cannot get the combination of transient cores and transientCacheSize to work as I think it should: give me the ability to create a large number cores and automatically load and unload them for me based on a limit that I set.
If anyone else is using this feature and it is working for you, let me know how you got it working! On Fri, May 3, 2013 at 2:11 PM, didier deshommes <dfdes...@gmail.com> wrote: > > On Fri, May 3, 2013 at 11:18 AM, Erick Erickson > <erickerick...@gmail.com>wrote: > >> The cores aren't loaded (or at least shouldn't be) for getting the status. >> The _names_ of the cores should be returned, but those are (supposed) to >> be >> retrieved from a list rather than loaded cores. So are you sure that's >> not what >> you are seeing? How are you determining whether the cores are actually >> loaded >> or not? >> >> > I'm looking at the output of : > > $ curl "http://localhost:8983/solr/admin/cores?wt=json&action=status" > > cores that are loaded have a "startTime" and "upTime" value. Cores that > are unloaded don't appear in the output at all. For example, I created 3 > transient cores with "transientCacheSize=2" . When I asked for a list of > all cores, all 3 cores were returned. I explicitly unloaded 1 core and got > back 2 cores when I asked for the list again. > > It would be nice if cores had a "isTransient" and a "isCurrentlyLoaded" > value so that one could see exactly which cores are loaded. > > > > >> That said, it's perfectly possible that the status command is doing >> something we >> didn't anticipate, but I took a quick look at the code (got to rush to a >> plane) >> and CoreAdminHandler _appears_ to be just returning whatever info it can >> about an unloaded core for status. I _think_ you'll get more info if the >> core has ever been loaded though, even though if it's been removed from >> the transient cache. Ditto for the create action. >> >> So let's figure out whether you're really seeing loaded cores or not, and >> then >> raise a JIRA if so... >> >> Thanks for reporting! >> Erick >> >> On Thu, May 2, 2013 at 1:27 PM, didier deshommes <dfdes...@gmail.com> >> wrote: >> > Hi, >> > I've been very interested in the transient core feature of solr to >> manage a >> > large number of cores. I'm especially interested in this use case, that >> the >> > wiki lists at http://wiki.apache.org/solr/LotsOfCores (looks to be down >> > now): >> > >> >>loadOnStartup=false transient=true: This is really the use-case. There >> are >> > a large number of cores in your system that are short-duration use. You >> > want Solr to load them as necessary, but unload them when the cache gets >> > full on an LRU basis. >> > >> > I'm creating 10 transient core via core admin like so >> > >> > $ curl " >> > >> http://localhost:8983/solr/admin/cores?wt=json&action=CREATE&name=new_core2&instanceDir=collection1/&dataDir=new_core2&transient=true&loadOnStartup=false >> > " >> > >> > and have "transientCacheSize=2" in my solr.xml file, which I take means >> I >> > should have at most 2 transient cores loaded at any time. The problem is >> > that these cores are still loaded when when I ask solr to list cores: >> > >> > $ curl "http://localhost:8983/solr/admin/cores?wt=json&action=status" >> > >> > From the explanation in the wiki, it looks like solr would manage >> loading >> > and unloading transient cores for me without having to worry about them, >> > but this is not what's happening. >> > >> > The situation is different when I restart solr; it does the "right >> thing" >> > by loading the maximum cores set by transientCacheSize. When I add more >> > cores, the old behavior happens again, where all created transient cores >> > are loaded in solr. >> > >> > I'm using the development branch lucene_solr_4_3 to run my example. I >> can >> > open a jira if need be. >> > >