clerezza-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Reto Bachmann-Gmür <r...@wymiwyg.com>
Subject Re: Problem with SingleTdbDatasetProvider
Date Wed, 30 Oct 2013 13:42:06 GMT
Hi Minto

Interesting problem you have there.
>

Thanks ;)

>
> Best is to fix the dreaded ConcurrentModificationException. Occasionally
> I run into it it als well. But most probably it is not that trivial to
> solve.
>

On hand we had some concurrency issues that caused the exception. I fixed
(some of) them recently, the tests are now passing.

On the other hand the exception is coming from Jena (as well as as from
java collections) if the dataset (respectively the collection) is modified
while iterating over it. Inthe case of addAll the modification of the
underlying dataset is necessary, so this is not about some
timing/concurrency.

Cheers,
Reto




>
> The only work around that I see is copy the MGraph to a different
> provider and do the normal addAll(). This other provider does not
> necessarily need to be in memory. Basically it is 2x addAll(). One to a
> different provider and one back.
>
> My knowledge is too limited to comment on forwarding it to Jena.
>
> Hope this is of some help to you.
>
> Regards,
>
> Minto
>
> Reto Bachmann-Gmür schreef op 30-10-2013 12:46:
> > Hi
> >
> > I'm having a problem using addAll two add one Mgraph from
> > SingeTdbDatasetProvider to another such MGraph.
> >
> > The problem is that the iterator over that added graph will return a
> > ConcurrentModificationException as soon as a triple has been added to the
> > target graph.
> >
> > I don't know how to solve this. Copying the graph to be added to memory
> > doesn't seem to be a compealing solution. Maybe the add-all could be
> > forwarded to Jena but this would solve the problem only in some cases,
> not
> > if there is any wrapper on the added graph or if union-graphs are used.
> >
> > Cheers,
> > Reto
> >
>
>
> --
> ir. ing. Minto van der Sluis
> Software innovator / renovator
> Xup BV
>
> Mobiel: +31 (0) 626 014541
>
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message