Uploaded image for project: 'Solr'
  1. Solr
  2. SOLR-8906

Make transient core cache pluggable.

    Details

    • Type: Improvement
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 6.6, 7.0
    • Component/s: None
    • Labels:
      None

      Description

      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.

        Attachments

        1. SOLR-8906.patch
          26 kB
          Erick Erickson
        2. SOLR-8906.patch
          44 kB
          Erick Erickson
        3. SOLR-8906.patch
          53 kB
          Erick Erickson
        4. SOLR-8906.patch
          64 kB
          Erick Erickson
        5. SOLR-8906.patch
          53 kB
          Erick Erickson

          Activity

            People

            • Assignee:
              erickerickson Erick Erickson
              Reporter:
              erickerickson Erick Erickson
            • Votes:
              0 Vote for this issue
              Watchers:
              7 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: