XMLWordPrintableJSON

Details

    • Sub-task
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • None
    • None
    • SolrCloud
    • None

    Description

      In shared collections, each replica's core has an associated entry in a metadata cache we call the shared core's concurrency cache (see SharedCoreConcurrencyController) that is used to facilitate concurrent indexing support of a single shard and associated optimizations. 

      Entries are currently created on demand - i.e. when request triggered pulls/pushes are initiated but there's no way of clearing the cache unless the node goes down and JVM restarts.

      Eviction from this cache is needed to facilitate things such as collection name reuse. Currently if you delete a collection and then recreate, you can create a Replica containing the same core name as a previously active collection/replica and have a pre-existing entry in the concurrency cache (barring restarts between this point). The net effect is at least one indexing batch failure before the cache returns to a correct state.

      Eviction will also support scale - say 50k collections and thousands of entries for cores located in memory is highly ineffective especially if a large number of collections are accessed infrequently. 

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              andy_vuong Andy Vuong
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Time Tracking

                  Estimated:
                  Original Estimate - Not Specified
                  Not Specified
                  Remaining:
                  Remaining Estimate - 0h
                  0h
                  Logged:
                  Time Spent - 2h
                  2h