Looks possibly like resource contention in the HTTP machinery.
Are you adjusting the default HTTP client used by Jena?
---
A. Soroka
Jean-Marc Vanel wrote on 5/9/17 10:49 AM:
In semantic_forms, when user loads an URL, the application tries to load
RDF from it, or else it considers the URL as plain foaf:Document and allows
the user to add triples to that URL.
So the application tries to load RDF from an URL with
RDFDataMgr.loadGraph() ( maybe there is a better way in Jena ? ).
And, sometimes, in the case of non-RDF content, blocked threads appear, and
retrying in the web application just creates more of these identical stacks.
Here is the top of one of the threads obtained by kill -3 :
"application-akka.actor.default-dispatcher-106" #131 prio=5 os_prio=0
tid=0x00007f0d7c01d000 nid=0x7fde waiting on condition [0x00007f0d772f1000]
java.lang.Thread.State: WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for <0x00000000fef77760> (a
java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
at
java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039)
at org.apache.http.pool.PoolEntryFuture.await(PoolEntryFuture.java:138)
at
org.apache.http.pool.AbstractConnPool.getPoolEntryBlocking(AbstractConnPool.java:306)
at
org.apache.http.pool.AbstractConnPool.access$000(AbstractConnPool.java:64)
at
org.apache.http.pool.AbstractConnPool$2.getPoolEntry(AbstractConnPool.java:192)
at
org.apache.http.pool.AbstractConnPool$2.getPoolEntry(AbstractConnPool.java:185)
at org.apache.http.pool.PoolEntryFuture.get(PoolEntryFuture.java:107)
at
org.apache.http.impl.conn.PoolingHttpClientConnectionManager.leaseConnection(PoolingHttpClientConnectionManager.java:276)
at
org.apache.http.impl.conn.PoolingHttpClientConnectionManager$1.get(PoolingHttpClientConnectionManager.java:263)
at
org.apache.http.impl.execchain.MainClientExec.execute(MainClientExec.java:190)
at
org.apache.http.impl.client.cache.CachingExec.callBackend(CachingExec.java:592)
at
org.apache.http.impl.client.cache.CachingExec.handleCacheMiss(CachingExec.java:356)
at
org.apache.http.impl.client.cache.CachingExec.execute(CachingExec.java:275)
at
org.apache.http.impl.execchain.ProtocolExec.execute(ProtocolExec.java:184)
at org.apache.http.impl.execchain.RetryExec.execute(RetryExec.java:88)
at
org.apache.http.impl.execchain.RedirectExec.execute(RedirectExec.java:110)
at
org.apache.http.impl.client.InternalHttpClient.doExecute(InternalHttpClient.java:184)
at
org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:82)
at
org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:55)
at org.apache.jena.riot.web.HttpOp.exec(HttpOp.java:1054)
at org.apache.jena.riot.web.HttpOp.execHttpGet(HttpOp.java:281)
at org.apache.jena.riot.web.HttpOp.execHttpGet(HttpOp.java:316)
at
org.apache.jena.riot.system.stream.LocatorHTTP.performOpen(LocatorHTTP.java:42)
at
org.apache.jena.riot.system.stream.LocatorURL.open(LocatorURL.java:44)
at
org.apache.jena.riot.system.stream.StreamManager.openNoMapOrNull(StreamManager.java:139)
at
org.apache.jena.riot.system.stream.StreamManager.open(StreamManager.java:100)
at org.apache.jena.riot.RDFDataMgr.open(RDFDataMgr.java:829)
at org.apache.jena.riot.RDFDataMgr.open(RDFDataMgr.java:819)
at org.apache.jena.riot.RDFDataMgr.parse(RDFDataMgr.java:664)
at org.apache.jena.riot.RDFDataMgr.read(RDFDataMgr.java:212)
athttps://rolfpotts.com/lawrence-millman/
org.apache.jena.riot.RDFDataMgr.read(RDFDataMgr.java:105)
at org.apache.jena.riot.RDFDataMgr.loadGraph(RDFDataMgr.java:346)
That was obtained by loading https://rolfpotts.com/lawrence-millman/ , a
pure HTML page.
There are 6 of these identical stacks.
jena Version = "3.2.0" , using Play! framework 2.5.12 ( with netty-server
under the hood ).
Any idea for fixing this ?