Github user ehedgehog commented on the issue:

    https://github.com/apache/jena/pull/166
  
    (Moving from mailing list)
    
    Andy had said:
    
    >> (/me not entirely convinced that 'close' is always called for all
    >> points where cancel triggers everywhere)
    
    Yes. I've just had a look over some of the code and it
    certainly wasn't obvious in that look that the query
    ends up closing the result iterator. I could have missed
    something easily. But if there's a problem there its
    more general than the issue with QueryInterDistinct and
    deserves its own JIRA? 
    
    But in any case cancel() is [typically] called from the 
    timeout thread, so it would surely be thread-unsafe for 
    the cancel methods to go calling close() while the query
    thread might be working on shared state, independently
    of worries about close() always being called.
    
    [A look at the codebase shows that there are three
    classes with requestSubCancel() closing, not cancelling,
    other iterators:
    
        AnstractIterHashJoin
        QueryIterDistinctReduced
        QueryIter2LoopOnLeft
    
    which suggests these should be looked at in case there
    might be a similar cancellation problem]
    
    How should we make progress on this?
    
    Chris



---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at [email protected] or file a JIRA ticket
with INFRA.
---

Reply via email to