Thanks, Andy!
On Mon, 2021-10-11 at 22:15 +0100, Andy Seaborne wrote: > Hi Han, > > Yes, it appears to be a bug. I can recreate it although I had to > increase the loop count to 5000 to see anything going wrong. > > It looks like once the test is wrong, it is wrong for 10+ iterations > afterwards, becomes OK again, and maybe goes wrong again. Quite > strange, > and no concurrency in sight. > > If the test is changed to use a plain model with the materialised > inference model copied into it, it does not go wrong. > > Recorded: JENA-2184 > > Andy > > https://issues.apache.org/jira/browse/JENA-2184 > > On 11/10/2021 11:04, Kruiger, J.F. (Han) wrote: > > Hi there, > > > > We are running into an issue that seems like a bug in Jena 4.2.0. > > > > A (reasonably) minimal example is in this test case: > > https://github.com/barrynl/jena-example/blob/cf2da8e5c7cd9a0f415282486ec8472e53d0a9c4/src/main/java/nl/tno/ict/ds/cb/jena/JenaRepeatedQueryOnInfModelTest.java > > > > What happens there is: > > > > * An `InfModel` is created from a reasoner that is bound to some > > RDF > > data. > > * The triples from the `InfModel` are written to a file > > `before.ttl`, > > for debugging. > > * A SELECT query is fired on the model repeatedly. > > * After this, the triples from the same model are written to > > `after.ttl`, for debugging. > > > > The expected behaviour is: > > > > * Since nothing changes in the model, the results of the > > subsequent > > SELECT queries should be identical. > > * `before.ttl` and `after.ttl` should be identical. > > > > However, both of those things do not happen in the actual > > behaviour. > > > > What we see (tested on my Linux machine, and my colleague's Windows > > machine) is the following: > > > > * For the first ~100 query results, there are not matches found > > and > > the empty binding set is returned. (This is correct!) > > * After that, something mysterious happens and the query suddenly > > gives a binding as a result. (This is incorrect!) > > * In `before.ttl`, both instances in the triple data are > > (correctly) > > classified as `ic:InformPurpose` and `ic:Purpose`, but in > > `after.ttl`, one of the resources is not classified as > > `ic:Purpose` > > anymore (even though the model hasn't changed; only SELECT > > queries > > were fired). > > > > Note that this behaviour does not occur when we use Jena 4.1.0. > > > > Are we missing something, or is this indeed a bug? > > > > Best, > > Han Kruiger > > This message may contain information that is not intended for you. > > If you are not the addressee or if this message was sent to you by > > mistake, you are requested to inform the sender and delete the > > message. TNO accepts no liability for the content of this e-mail, > > for the manner in which you use it and for damage of any kind > > resulting from the risks inherent to the electronic transmission of > > messages. > >
