incubator-jena-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Andy Seaborne (JIRA)" <>
Subject [jira] [Commented] (JENA-100) QueryIteratorBase concurrency issues
Date Tue, 16 Aug 2011 10:04:27 GMT


Andy Seaborne commented on JENA-100:

Patch applied and a build done, thanks 

Simon - please provide test cases for your use case.

> QueryIteratorBase concurrency issues
> ------------------------------------
>                 Key: JENA-100
>                 URL:
>             Project: Jena
>          Issue Type: Bug
>          Components: ARQ
>            Reporter: Stephen Allen
>         Attachments: JENA-100-r1157891.patch
> QueryIteratorBase appears to have some concurrency bugs relating to cancelling a query:
> 1) The cancel() and cancelAllowContinue() methods did not have large enough synchronized
blocks (they also used "this" as the lock, which is not recommended)
> 2) The order of setting the cancellation flags and the notifying subclasses via the requestCancel()
method was incorrect
> 3) The visibility and happens-before relationships were incorrect for the requestingCancel
and abortIterator variables
> The cancelAllowContinue() feature adds a lot of complexity in terms of visibility and
ordering.  Unfortunately it is hard to write test cases for these types of concurrency issues,
so the existing tests did not uncover the issues.

This message is automatically generated by JIRA.
For more information on JIRA, see:


View raw message