[ 
https://issues.apache.org/jira/browse/SOLR-14467?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17108477#comment-17108477
 ] 

Michael Gibney commented on SOLR-14467:
---------------------------------------

That all sounds exactly right to me (sorry about the confusion – I realize my 
concern about _needing_ to prevent deferral of stats when {{allBuckets==true}} 
was misplaced).
{quote}the key bug here is just in how the {{slotContext}} works when dealing 
with these "special" slots
{quote}
Yes, and the approach you've described (a special slotContext that ignores the 
slot# it's passed) is indeed what's introduced over at SOLR-13132 (in 
3ec93950373b0f9e7777bbab52992c5514727260).

A quick overview of some of the simple stats Accs in {{SlotAcc.java}} (e.g., 
MinMax, Sum, Variance, etc.) shows that, unsurprisingly, most (all?) seem to 
ignore {{slotContext}} (which explains why Relatedness has issues with 
{{allBuckets}}, but other stats don't). I've attached [^SOLR-14467.patch] which 
takes the approach of separating the slot for _accumulation_ purposes from the 
slot for _context_ purposes. Putting the onus on individual {{SlotAcc}} 
implementations to determine whether or not they need the slotContext seems to 
cleanly address these issues without introducing unnecessary overhead.

Thanks for the heads-up about the expectation of focusing on SOLR-14477; but 
when you're able to take a look, I'm curious to know what you make of the 
approach in the attached patch. If you think this approach is good (and if you 
haven't yet done work based off the "SOLR-14467" commits at PR #751 and it's ok 
with you) I could force-push/overwrite those commits, replacing the initial 
approach taken there with the approach taken here.

> inconsistent server errors combining relatedness() with allBuckets:true
> -----------------------------------------------------------------------
>
>                 Key: SOLR-14467
>                 URL: https://issues.apache.org/jira/browse/SOLR-14467
>             Project: Solr
>          Issue Type: Bug
>      Security Level: Public(Default Security Level. Issues are Public) 
>          Components: Facet Module
>            Reporter: Chris M. Hostetter
>            Priority: Major
>         Attachments: SOLR-14467.patch, SOLR-14467_test.patch
>
>
> 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?



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscr...@lucene.apache.org
For additional commands, e-mail: issues-h...@lucene.apache.org

Reply via email to