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

json.facet's relatedness() should not cause server errors or nonsense results when combined with allBuckets:true

Attach filesAttach ScreenshotVotersWatch issueWatchersCreate sub-taskLinkCloneUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments
    XMLWordPrintableJSON

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 8.6, main (9.0)
    • Component/s: Facet Module
    • Labels:
      None

      Description

      While testing randomized permutations of json.facet params in combination with the relatedness() function it was discovered that:

      • relatedness() would produce server errors in many situations when combined with allBuckets:true
      • In situations where this combination of options was used an a server error did not happen, the computed values for the relatedness() function that would be put in the allBuckets bucket were meaningless

      The end result of this jira was to modify relatedness() to skip computation for the allBuckets bucket

      original description

      While working on randomized testing for SOLR-13132 i discovered a variety of different ways that JSON Faceting's "allBuckets" option can fail when combined with the "relatedness()" function.

      I haven't found a trivial way to manual reproduce this, but i have been able to trigger the failures with a trivial patch to TestCloudJSONFacetSKG which i will attach.

      Based on the nature of the failures it looks like it may have something to do with multiple segments of different sizes, and or resizing the SlotAccs ?

      The relatedness() function doesn't have much (any?) existing tests in place that leverage "allBuckets" so this is probably a bug that has always existed – it's possible it may be excessively cumbersome to fix and we might nee/wnat to just document that incompatibility and add some code to try and detect if the user combines these options and if so fail with a 400 error?

        Attachments

        1. SOLR-14467.patch
          7 kB
          Michael Gibney
        2. SOLR-14467.patch
          12 kB
          Michael Gibney
        3. SOLR-14467.patch
          29 kB
          Chris M. Hostetter
        4. SOLR-14467.patch
          30 kB
          Chris M. Hostetter
        5. SOLR-14467_test.patch
          32 kB
          Chris M. Hostetter
        6. SOLR-14467_test.patch
          11 kB
          Chris M. Hostetter
        7. SOLR-14467_allBuckets_refine.patch
          3 kB
          Michael Gibney
        8. beast2.log.txt
          5.44 MB
          Chris M. Hostetter
        9. beast.log.txt
          25.89 MB
          Chris M. Hostetter

        Issue Links

          Activity

            People

            • Assignee:
              hossman Chris M. Hostetter
              Reporter:
              hossman Chris M. Hostetter

              Dates

              • Created:
                Updated:
                Resolved:

                Issue deployment