[
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)