[ https://issues.apache.org/jira/browse/SOLR-2894?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14065060#comment-14065060 ]
Hoss Man commented on SOLR-2894: -------------------------------- bq. When those two things combine ... *Fixed* Awesome .. i love it when tests uncover bugs you never even suspected. bq. Are you still seeing the infinite recursion problem? The seeds you provided earlier pass locally for me. Changing the encoding mechanism stoped the reliably reproducing infinite loop -- my concern though is that -- even if it's hard to test for -- we should make sure the overall algorithm for refinement isn't susceptible to infinite looping in the event of aberrant shard behavior. At the moment, from what i can tell, the general behavior of the refinement logic is along the lines of... {code} while ( ! values_needing_refined.isEmpty() ) { foreach (value : values_needing_refined) { foreach (shard_not_responded : value) { shardrequstor.enque_refinement_request(shard_not_responded, value) } } shardrequestor.send_refinement_requests_to_shards_that_need_them() } {code} Now imagine a situation where, for whatever reason, some shard will *never* respond back as expected from a refinement request -- ie: maybe we just started a rolling config upgrade and the new solrconfig.xml permanently disables faceting via a {{facet=false}} invariant? that's going to be an infinite loop. We need a safety valve in the refinement logic. Instead of simply sending refinement requests to a shard if there is a value whose shard count we don't know, potentially asking for hte same refinement over and over; we should instead keep track of which shards we've already _asked_ for a refinement, and if we've already asked a shard once, and still don't have a response then we should just give up and return an error. does that make sense? > Implement distributed pivot faceting > ------------------------------------ > > Key: SOLR-2894 > URL: https://issues.apache.org/jira/browse/SOLR-2894 > Project: Solr > Issue Type: Improvement > Reporter: Erik Hatcher > Assignee: Hoss Man > Fix For: 4.9, 5.0 > > Attachments: SOLR-2894-mincount-minification.patch, > SOLR-2894-reworked.patch, SOLR-2894.patch, SOLR-2894.patch, SOLR-2894.patch, > SOLR-2894.patch, SOLR-2894.patch, SOLR-2894.patch, SOLR-2894.patch, > SOLR-2894.patch, SOLR-2894.patch, SOLR-2894.patch, SOLR-2894.patch, > SOLR-2894.patch, SOLR-2894.patch, SOLR-2894.patch, SOLR-2894.patch, > SOLR-2894.patch, SOLR-2894.patch, SOLR-2894.patch, SOLR-2894.patch, > SOLR-2894.patch, SOLR-2894.patch, SOLR-2894.patch, SOLR-2894.patch, > SOLR-2894.patch, SOLR-2894.patch, SOLR-2894.patch, SOLR-2894.patch, > SOLR-2894.patch, SOLR-2894.patch, SOLR-2894.patch, SOLR-2894.patch, > SOLR-2894.patch, SOLR-2894.patch, SOLR-2894.patch, > SOLR-2894_cloud_test.patch, dateToObject.patch, pivot_mincount_problem.sh > > > Following up on SOLR-792, pivot faceting currently only supports > undistributed mode. Distributed pivot faceting needs to be implemented. -- This message was sent by Atlassian JIRA (v6.2#6252) --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org For additional commands, e-mail: dev-h...@lucene.apache.org