[ https://issues.apache.org/jira/browse/JENA-1212?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15382385#comment-15382385 ]
ASF GitHub Bot commented on JENA-1212: -------------------------------------- Github user ajs6f commented on a diff in the pull request: https://github.com/apache/jena/pull/157#discussion_r71161082 --- Diff: jena-arq/src/main/java/org/apache/jena/atlas/data/SortedDataBag.java --- @@ -69,19 +69,81 @@ protected final ThresholdPolicy<E> policy; protected final SerializationFactory<E> serializationFactory; - protected final Comparator<? super E> comparator; + protected final CanAbortComparator comparator; protected boolean finishedAdding = false; protected boolean spilled = false; protected boolean closed = false; + protected volatile boolean cancelled; public SortedDataBag(ThresholdPolicy<E> policy, SerializationFactory<E> serializerFactory, Comparator<? super E> comparator) { this.policy = policy; this.serializationFactory = serializerFactory; - this.comparator = comparator; + this.comparator = new CanAbortComparator(comparator); } + private final class CanAbortComparator implements Comparator<E> --- End diff -- It might be worth breaking this out into its own compilation unit. In the current arrangement, this is not a `static` class, and I don't think it could be because it is picking up the type parameter from the enclosing class. That doesn't seem ideal. > allow ORDER BY sort to be cancelled > ----------------------------------- > > Key: JENA-1212 > URL: https://issues.apache.org/jira/browse/JENA-1212 > Project: Apache Jena > Issue Type: Improvement > Components: ARQ > Reporter: christopher james dollin > Priority: Minor > Fix For: Jena 3.1.1 > > > When a query with an ORDER BY is cancelled, the component > Arrays.sort() that sorts the chunk(s) of the result > bindings runs to completion before the cancel finishes. > [See QueryIterSort and SortedDataBag.] > For a large result set, this results in a long wait > before the cancelled request finally finishes. This > can be inconvenient. -- This message was sent by Atlassian JIRA (v6.3.4#6332)