Andy, I suppose the problem is in the server side (Fuseki) and not in the client side (ARQ). I say this because now I have the same data in Fuseki (Jena TDB) and Virtuoso. Both are installed in the same host. I get all the results from Virtuoso, but not from Fuseki using the same client application and query.
Regards, Regis. On Wed, May 2, 2012 at 9:51 AM, Andy Seaborne <a...@apache.org> wrote: > Hi there, > > Sorry for the delay. > > I've managed to turn this into a test case. > > Using ARQ and fuseki from development (recent snapshot builds will do the > same), and daft data + query, I can get it reliably to lock up at 50 > triples; 40 does not reliably. > > The query is a cross product of the database - the execution plan is going > to be 2500 calls in the second SERVICE. > > I tried: > > 1/ putting in a short delay after the execution of service and it works. > The delay was 5ms - not even an OS timeslice. I guess this causes the OS > to switch processes or otherwise be able to clear up resources. 1ms > didn't work. 2ms did -- I only tried a coupel of times though. > > 2/ Setting the connection to be closed after use always > (i.e. HTTP header "Connection: close") > > Tentative conclusion: it's the server/OS not being able to sort out > connections fast enough. ARQ, or the Java runtime, isn't recycling > connections which maybe because the URL changes everytime but probbaly > because I don't understand how connection caching is supposed to work in > Java when naively use java.net. > > Not sure of the best solution at the moment. > > Andy > > ---- Query ---- > PREFIX : <http://example/> > > SELECT (count(*) AS ?c) > FROM <file:D.nt> > { > SERVICE <http://localhost:3030/ds/**query<http://localhost:3030/ds/query>> > { ?s ?p ?o . ?s1 ?p1 ?o1 } > SERVICE <http://localhost:3030/ds/**query<http://localhost:3030/ds/query>> > { ?s1 ?p1 ?o1 } > } > ---- Query ---- > > data: > fuseki --file=D.ttl /ds > > ---- Data > # 50 triples > @prefix : <http://example/> . > > :x :p 1 . > :x :p 2 . > :x :p 3 . > :x :p 4 . > :x :p 5 . > :x :p 6 . > :x :p 7 . > :x :p 8 . > :x :p 9 . > :x :p 10 . > :x :p 11 . > :x :p 12 . > :x :p 13 . > :x :p 14 . > :x :p 15 . > :x :p 16 . > :x :p 17 . > :x :p 18 . > :x :p 19 . > :x :p 20 . > :x :p 21 . > :x :p 22 . > :x :p 23 . > :x :p 24 . > :x :p 25 . > :x :p 26 . > :x :p 27 . > :x :p 28 . > :x :p 29 . > :x :p 30 . > > :x :p 31 . > :x :p 32 . > :x :p 33 . > :x :p 34 . > :x :p 35 . > :x :p 36 . > :x :p 37 . > :x :p 38 . > :x :p 39 . > :x :p 40 . > > :x :p 41 . > :x :p 42 . > :x :p 43 . > :x :p 44 . > :x :p 45 . > :x :p 46 . > :x :p 47 . > :x :p 48 . > :x :p 49 . > :x :p 50 . >