[ https://issues.apache.org/jira/browse/LUCENE-8434?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16560395#comment-16560395 ]
Hoss Man commented on LUCENE-8434: ---------------------------------- would it make sense to support setting a sentinel exception as an expert level option on Collectors that currently {{throw new CollectionTerminatedException}} ? (for users who generally want {{-XX:-OmitStackTraceInFastThrow}} but in this specific case don't care) ie... {code:java} private CollectionTerminatedException reusableCollectionTerminatedException = null; public void setReusableCollectionTerminatedException(CollectionTerminatedException e) { this.reusableCollectionTerminatedException = e; } ... if (someConditionThatAllowsEarlyTermination) { throw (null != reusableCollectionTerminatedException) ? reusableCollectionTerminatedException : new CollectionTerminatedException(); } } {code} ? > Use shared instance of CollectionTerminatedException > ---------------------------------------------------- > > Key: LUCENE-8434 > URL: https://issues.apache.org/jira/browse/LUCENE-8434 > Project: Lucene - Core > Issue Type: Improvement > Reporter: Michael Braun > Priority: Minor > > Creating exceptions and filling in the stack is expensive (see SOLR-11242 and > SOLR-11314 for two such examples). CollectionTerminatedException is used as a > signaling mechanism - there are zero instances in code that actually log that > it occurred or make use of anything other than the fact that it occurred > (unlike Solr's EarlyTerminatingCollectorException, for instance). Exceptions > really should be for something exceptional - the use of > CollectionTerminatedException is in place of polluting return values with > this condition and is just used as a signal to callers. > Because CollectionTerminatedException is never inspected directly and is > effectively a different return condition, it doesn't make as much sense to > generate new Exceptions with fresh stack traces every time - either change > the signatures or share the object. -- This message was sent by Atlassian JIRA (v7.6.3#76005) --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org For additional commands, e-mail: dev-h...@lucene.apache.org