You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@lucene.apache.org by "Christine Poerschke (JIRA)" <ji...@apache.org> on 2019/03/14 20:21:00 UTC

[jira] [Commented] (LUCENE-8728) facilitate lucene/grouping FirstPassGroupingCollector extension

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

Christine Poerschke commented on LUCENE-8728:
---------------------------------------------

context:
* SOLR-11831 proposes an optimisation to grouping logic if group.limit is 1 (and other conditions are met).
* If the second grouping step is to be skipped then additional information needs to be collected and collated in the first grouping step.

question:
* Would there be concerns about adding additional members to the existing {{lucene/grouping}} {{SearchGroup}} class and for {{FirstPassGroupingCollector}} to fill them in (even if not all caller require/benefit from them)?
** Specifically I'm wondering about additional object/GC footprint (for anyone who does not benefit from that) and would love to hear what others think.

proposal:
* If additional {{lucene/grouping}} {{SearchGroup}} members would be (relatively) undesirable, can {{SearchGroup}} somehow be made extensible along with {{FirstPassGroupingCollector}} as the class that allocates the {{SearchGroup}} objects?
** Extension of both classes would avoid duplication of code and specifically it would also help ensure that parent and derived collecting behaviour is consistent i.e. no surprises transitioning to or from the group.limit==1 optimised code path.
** Extensibility of both classes can be facilitated e.g. via the factoring out of small protected methods.
*** question: Additional methods introduce complexity in the codebase and at runtime can we assume that the JVM will 'magically' optimise or is there a method-call-overhead-versus-object-GC-footprint trade-off here?

attachments:
* LUCENE-8728.patch with proposed changes.
* LUCENE-8728-extension-illustration.patch to sketch out how SOLR-11831 might be extending the {{org.apache.lucene.search.grouping}} classes in the {{org.apache.solr.search.grouping}} package.

> facilitate lucene/grouping FirstPassGroupingCollector extension
> ---------------------------------------------------------------
>
>                 Key: LUCENE-8728
>                 URL: https://issues.apache.org/jira/browse/LUCENE-8728
>             Project: Lucene - Core
>          Issue Type: Wish
>            Reporter: Christine Poerschke
>            Assignee: Christine Poerschke
>            Priority: Critical
>         Attachments: LUCENE-8728-extension-illustration.patch, LUCENE-8728.patch
>
>
> (details to follow as comments/questions)



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@lucene.apache.org
For additional commands, e-mail: dev-help@lucene.apache.org