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

IndexFingerprinting: use getCombinedCoreAndDeletesKey() instead of getCoreCacheKey() for per-segment caching

    Details

    • Type: Improvement
    • Status: Resolved
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 6.4, 7.0
    • Component/s: None
    • Security Level: Public (Default Security Level. Issues are Public)
    • Labels:
      None

      Description

      [Note: Had initially posted to SOLR-9506, but now moved here]

      While working on SOLR-5944, I realized that the current per segment caching logic works fine for deleted documents (due to comparison of numDocs in a segment for the criterion of cache hit/miss). However, if a segment has docValues updates, the same logic is insufficient. It is my understanding that changing the key for caching from reader().getCoreCacheKey() to reader().getCombinedCoreAndDeletesKey() would work here, since the docValues updates are internally handled using deletion queue and hence the "combined" core and deletes key would work here. Attaching a patch for the same.

      1. SOLR-9777.patch
        1 kB
        Ishan Chattopadhyaya

        Issue Links

          Activity

          Hide
          ichattopadhyaya Ishan Chattopadhyaya added a comment -

          Adding the patch for this.

          Show
          ichattopadhyaya Ishan Chattopadhyaya added a comment - Adding the patch for this.
          Hide
          ichattopadhyaya Ishan Chattopadhyaya added a comment -

          I'm planning to commit this soon. So, if someone has the time to review this change, would be great.

          Show
          ichattopadhyaya Ishan Chattopadhyaya added a comment - I'm planning to commit this soon. So, if someone has the time to review this change, would be great.
          Hide
          markrmiller@gmail.com Mark Miller added a comment -

          +1

          Show
          markrmiller@gmail.com Mark Miller added a comment - +1
          Hide
          jira-bot ASF subversion and git services added a comment -

          Commit b0177312032e039673bfbbd42cd1dca09fb93833 in lucene-solr's branch refs/heads/master from Ishan Chattopadhyaya
          [ https://git-wip-us.apache.org/repos/asf?p=lucene-solr.git;h=b017731 ]

          SOLR-9777: IndexFingerprinting should use getCombinedCoreAndDeletesKey() instead of getCoreCacheKey() for per-segment caching

          Show
          jira-bot ASF subversion and git services added a comment - Commit b0177312032e039673bfbbd42cd1dca09fb93833 in lucene-solr's branch refs/heads/master from Ishan Chattopadhyaya [ https://git-wip-us.apache.org/repos/asf?p=lucene-solr.git;h=b017731 ] SOLR-9777 : IndexFingerprinting should use getCombinedCoreAndDeletesKey() instead of getCoreCacheKey() for per-segment caching
          Hide
          jira-bot ASF subversion and git services added a comment -

          Commit 1c943be5ed2894baa37f69b6273e1fbe15e72d5d in lucene-solr's branch refs/heads/branch_6x from Ishan Chattopadhyaya
          [ https://git-wip-us.apache.org/repos/asf?p=lucene-solr.git;h=1c943be ]

          SOLR-9777: IndexFingerprinting should use getCombinedCoreAndDeletesKey() instead of getCoreCacheKey() for per-segment caching

          Show
          jira-bot ASF subversion and git services added a comment - Commit 1c943be5ed2894baa37f69b6273e1fbe15e72d5d in lucene-solr's branch refs/heads/branch_6x from Ishan Chattopadhyaya [ https://git-wip-us.apache.org/repos/asf?p=lucene-solr.git;h=1c943be ] SOLR-9777 : IndexFingerprinting should use getCombinedCoreAndDeletesKey() instead of getCoreCacheKey() for per-segment caching

            People

            • Assignee:
              ichattopadhyaya Ishan Chattopadhyaya
              Reporter:
              ichattopadhyaya Ishan Chattopadhyaya
            • Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Development