The current Lazy Core stuff is pretty deeply intertwined in CoreContainer. Adding and removing active cores is based on a simple LRU mechanism, but keeping the right cores in the right internal structures involves a lot of attention to locking various objects to update internal structures. This makes it difficult/dangerous to use any other caching algorithms.
Any single age-out algorithm will have non-optimal access patterns, so making this pluggable would allow better algorithms to be substituted in those cases.
If we ever extend transient cores to SolrCloud, we need to have load/unload decisions that are cloud-aware rather then entirely local so in that sense this is would lay some groundwork if we ever want to go there.
So I'm going to try to hack together a PoC. Any ideas on the most sensible pattern for this gratefully received.