You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@clerezza.apache.org by Reto Bachmann-Gmür <re...@apache.org> on 2013/10/24 18:47:27 UTC

Concurrency issue with SingleTdbTcProvider

Hi,

I've jut created CLEREZZA-833. The problem is that nothing ensure readlocks
on accessing the set returned by:

@Override
    public Set<UriRef> listMGraphs() {
        return new UriRefSet( graphNameIndex, Symbols.MGraph );
    }

The straight forward solution would be to copy the Set to a HashSet. But
I'm not sure how much this defeats the purpose of the
ScalableSingleTdbTcProvider approach.

Another issue that just occured are the (non M) Graphs. Given that the lock
is on the dataset one should also lock when iterating over the triples of a
graph. But as the API doesn't foresee TripleCollections with shared lock
there's no support for this.

Cheers,
Reto

Re: Concurrency issue with SingleTdbTcProvider

Posted by Reto Bachmann-Gmür <re...@apache.org>.
On Thu, Oct 24, 2013 at 6:47 PM, Reto Bachmann-Gmür <re...@apache.org> wrote:

> ....
>
> Another issue that just occured are the (non M) Graphs. Given that the
> lock is on the dataset one should also lock when iterating over the triples
> of a graph. But as the API doesn't foresee TripleCollections with shared
> lock there's no support for this.
>

I think this  is not the case a Graphs are in-memory copies of the
underlying jena graphs. I think given this they would not need to be
wrapped as PrivilegedGraphWrapper.

Reto