idilhaq / duke

Automatically exported from code.google.com/p/duke
0 stars 1 forks source link

SPARQL data source hangs #16

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
What steps will reproduce the problem?

1. java no.priv.garshol.duke.Duke --showmatches dogfood.xml

What is the expected output? What do you see instead?

When I do a kill -SIGQUIT {PID} I get the following trace:

2011-05-21 15:39:25
Full thread dump Java HotSpot(TM) 64-Bit Server VM (19.1-b02-334 mixed mode):

"Low Memory Detector" daemon prio=5 tid=10184e800 nid=0x108b69000 runnable 
[00000000]
   java.lang.Thread.State: RUNNABLE

"CompilerThread1" daemon prio=9 tid=10184d000 nid=0x108a66000 waiting on 
condition [00000000]
   java.lang.Thread.State: RUNNABLE

"CompilerThread0" daemon prio=9 tid=10184b800 nid=0x108963000 waiting on 
condition [00000000]
   java.lang.Thread.State: RUNNABLE

"Signal Dispatcher" daemon prio=9 tid=10184a800 nid=0x108860000 waiting on 
condition [00000000]
   java.lang.Thread.State: RUNNABLE

"Surrogate Locker Thread (CMS)" daemon prio=5 tid=101849000 nid=0x10875d000 
waiting on condition [00000000]
   java.lang.Thread.State: RUNNABLE

"Finalizer" daemon prio=8 tid=101830000 nid=0x108643000 in Object.wait() 
[108642000]
   java.lang.Thread.State: WAITING (on object monitor)
    at java.lang.Object.wait(Native Method)
    - waiting on <7f3001300> (a java.lang.ref.ReferenceQueue$Lock)
    at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:118)
    - locked <7f3001300> (a java.lang.ref.ReferenceQueue$Lock)
    at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:134)
    at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:159)

"Reference Handler" daemon prio=10 tid=10182f000 nid=0x108532000 in 
Object.wait() [108531000]
   java.lang.Thread.State: WAITING (on object monitor)
    at java.lang.Object.wait(Native Method)
    - waiting on <7f30011d8> (a java.lang.ref.Reference$Lock)
    at java.lang.Object.wait(Object.java:485)
    at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:116)
    - locked <7f30011d8> (a java.lang.ref.Reference$Lock)

"main" prio=5 tid=101801800 nid=0x100501000 runnable [100500000]
   java.lang.Thread.State: RUNNABLE
    at java.net.SocketInputStream.socketRead0(Native Method)
    at java.net.SocketInputStream.read(SocketInputStream.java:129)
    at java.io.BufferedInputStream.fill(BufferedInputStream.java:218)
    at java.io.BufferedInputStream.read1(BufferedInputStream.java:258)
    at java.io.BufferedInputStream.read(BufferedInputStream.java:317)
    - locked <7f3e12df0> (a java.io.BufferedInputStream)
    at sun.net.www.http.HttpClient.parseHTTPHeader(HttpClient.java:687)
    at sun.net.www.http.HttpClient.parseHTTP(HttpClient.java:632)
    at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1195)
    - locked <7f3e10418> (a sun.net.www.protocol.http.HttpURLConnection)
    at no.priv.garshol.duke.SparqlClient.getResponse(SparqlClient.java:52)
    at no.priv.garshol.duke.SparqlClient.execute(SparqlClient.java:30)
    at no.priv.garshol.duke.SparqlDataSource$SparqlIterator.fetchNextPage(SparqlDataSource.java:106)
    at no.priv.garshol.duke.SparqlDataSource$SparqlIterator.next(SparqlDataSource.java:92)
    at no.priv.garshol.duke.SparqlDataSource$SparqlIterator.next(SparqlDataSource.java:43)
    at no.priv.garshol.duke.Duke.main(Duke.java:82)

"VM Thread" prio=9 tid=10182a000 nid=0x10842f000 runnable 

"Gang worker#0 (Parallel GC Threads)" prio=9 tid=101804800 nid=0x1007c7000 
runnable 

"Gang worker#1 (Parallel GC Threads)" prio=9 tid=101805800 nid=0x1017cc000 
runnable 

"Concurrent Mark-Sweep GC Thread" prio=9 tid=101808000 nid=0x1080b6000 runnable 
"VM Periodic Task Thread" prio=10 tid=101850800 nid=0x108c6c000 waiting on 
condition 

"Exception Catcher Thread" prio=10 tid=101802800 nid=0x100604000 runnable 
JNI global references: 1704

Heap
 par new generation   total 19136K, used 14785K [7f3000000, 7f44c0000, 7f44c0000)
  eden space 17024K,  86% used [7f3000000, 7f3e707e8, 7f40a0000)
  from space 2112K,   0% used [7f40a0000, 7f40a0000, 7f42b0000)
  to   space 2112K,   0% used [7f42b0000, 7f42b0000, 7f44c0000)
 concurrent mark-sweep generation total 63872K, used 0K [7f44c0000, 7f8320000, 7fae00000)
 concurrent-mark-sweep perm gen total 21248K, used 8748K [7fae00000, 7fc2c0000, 800000000)

What version of the product are you using? On what operating system?

Using duke-0.2-SNAPSHOT.jar built from source with Java version "1.6.0_24" on 
Mac OS X 10.5.8

Original issue reported on code.google.com by Michael.Hausenblas on 21 May 2011 at 2:46

GoogleCodeExporter commented 9 years ago
Duke is waiting for the SPARQL server to respond. It looks like the problem is 
simply that the server is taking a long time to process the query.

If you try the new --verbose option you can copy the actual query Duke is 
sending and submitting it to the SPARQL engine yourself. If it takes a long 
time to return anything you have the cause of the problem. If not we need to 
dig deeper.

Original comment by lar...@gmail.com on 21 May 2011 at 2:50

GoogleCodeExporter commented 9 years ago
Indeed, I'm doing -v dogfood.xml now and see:

SPARQL query:        SELECT DISTINCT ?instance ?p ?o       WHERE {         
?instance a <http://xmlns.com/foaf/0.1/Person> .         ?instance ?p ?o .      
 }       ORDER BY ?instance ?p ?o      limit 1000 offset 0
SPARQL result rows: 1000
SPARQL query:        SELECT DISTINCT ?instance ?p ?o       WHERE {         
?instance a <http://xmlns.com/foaf/0.1/Person> .         ?instance ?p ?o .      
 }       ORDER BY ?instance ?p ?o      limit 1000 offset 1000
SPARQL result rows: 1000
SPARQL query:        SELECT DISTINCT ?instance ?p ?o       WHERE {         
?instance a <http://xmlns.com/foaf/0.1/Person> .         ?instance ?p ?o .      
 }       ORDER BY ?instance ?p ?o      limit 1000 offset 2000

etc.

... which means that I need to run down to the office and restart the server 
(embarrassingly this is our dataset ;)

Thanks!

Original comment by Michael.Hausenblas on 21 May 2011 at 2:57

GoogleCodeExporter commented 9 years ago
Well, to me it looks like it's just slow, but that it *is* responding. So it 
looks like you're OK.

Original comment by lar...@gmail.com on 21 May 2011 at 3:51