I am curious whether there is any known problem where an interrupt could be
propagated into the wrong thread by the jini/river library (this is against
river 2.2), or perhaps retained across the reuse of a thread for another task.
The critical bit of the stack trace that I am seeing is:
Caused by: java.io.IOException: request I/O interrupted
at
com.sun.jini.jeri.internal.mux.Session$MuxInputStream.read(Session.java:833)
at
net.jini.jeri.connection.ConnectionManager$Outbound$Input.read(ConnectionManager.java:550)
at
net.jini.jeri.BasicObjectEndpoint.executeCall(BasicObjectEndpoint.java:410)
at
net.jini.jeri.BasicInvocationHandler.invokeRemoteMethodOnce(BasicInvocationHandler.java:806)
... 12 more
There are definitely times when we interrupt operations, but I am having a very
difficult time finding a reason why an interrupt would have been generated
during this phase of query processing by our application. However, there are
heavy concurrent operations going on which could cause interrupts. Is it
possible that the interrupt is being propagated into another thread by mistake?
The full stack trace is:
java.util.concurrent.ExecutionException: java.rmi.UnmarshalException: exception
unmarshalling response; nested exception is:
java.io.IOException: request I/O interrupted
at java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:222)
at java.util.concurrent.FutureTask.get(FutureTask.java:83)
at
com.bigdata.service.ndx.ClientIndexView.runParallel(ClientIndexView.java:1742)
at
com.bigdata.service.ndx.ClientIndexView.runTasks(ClientIndexView.java:1656)
at
com.bigdata.service.ndx.ClientIndexView.submit(ClientIndexView.java:1421)
at
com.bigdata.service.ndx.ClientIndexView.submit(ClientIndexView.java:1338)
at
com.bigdata.service.ndx.ClientIndexView.rangeCount(ClientIndexView.java:609)
at
com.bigdata.relation.accesspath.AccessPath.historicalRangeCount(AccessPath.java:1357)
at
com.bigdata.relation.accesspath.AccessPath.rangeCount(AccessPath.java:1325)
at
com.bigdata.rdf.sparql.ast.optimizers.ASTStaticJoinOptimizer.attachRangeCounts(ASTStaticJoinOptimizer.java:510)
at
com.bigdata.rdf.sparql.ast.optimizers.ASTStaticJoinOptimizer.optimize(ASTStaticJoinOptimizer.java:312)
at
com.bigdata.rdf.sparql.ast.optimizers.ASTStaticJoinOptimizer.optimize(ASTStaticJoinOptimizer.java:457)
at
com.bigdata.rdf.sparql.ast.optimizers.ASTStaticJoinOptimizer.optimize(ASTStaticJoinOptimizer.java:457)
at
com.bigdata.rdf.sparql.ast.optimizers.ASTStaticJoinOptimizer.optimize(ASTStaticJoinOptimizer.java:179)
at
com.bigdata.rdf.sparql.ast.optimizers.ASTOptimizerList.optimize(ASTOptimizerList.java:92)
at
com.bigdata.rdf.sparql.ast.eval.AST2BOpUtility.convert(AST2BOpUtility.java:193)
at
com.bigdata.rdf.sparql.ast.eval.ASTEvalHelper.evaluateGraphQuery(ASTEvalHelper.java:314)
at
com.bigdata.rdf.sail.BigdataSailGraphQuery.evaluate(BigdataSailGraphQuery.java:91)
at
org.openrdf.repository.sail.SailGraphQuery.evaluate(SailGraphQuery.java:102)
at
com.bigdata.rdf.sail.webapp.BigdataRDFContext$GraphQueryTask.doQuery(BigdataRDFContext.java:799)
at
com.bigdata.rdf.sail.webapp.BigdataRDFContext$AbstractQueryTask.call(BigdataRDFContext.java:632)
at
com.bigdata.rdf.sail.webapp.BigdataRDFContext$AbstractQueryTask.call(BigdataRDFContext.java:280)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
at java.util.concurrent.FutureTask.run(FutureTask.java:138)
at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:662)
Caused by: java.rmi.UnmarshalException: exception unmarshalling response;
nested exception is:
java.io.IOException: request I/O interrupted
at
net.jini.jeri.BasicInvocationHandler.invokeRemoteMethodOnce(BasicInvocationHandler.java:847)
at
net.jini.jeri.BasicInvocationHandler.invokeRemoteMethod(BasicInvocationHandler.java:659)
at
net.jini.jeri.BasicInvocationHandler.invoke(BasicInvocationHandler.java:528)
at $Proxy3.submit(Unknown Source)
at
com.bigdata.service.ndx.AbstractDataServiceProcedureTask.submit(AbstractDataServiceProcedureTask.java:348)
at
com.bigdata.service.ndx.AbstractDataServiceProcedureTask.submit(AbstractDataServiceProcedureTask.java:292)
at
com.bigdata.service.ndx.AbstractDataServiceProcedureTask.call(AbstractDataServiceProcedureTask.java:215)
at
com.bigdata.service.ndx.AbstractDataServiceProcedureTask.call(AbstractDataServiceProcedureTask.java:45)
... 5 more
Caused by: java.io.IOException: request I/O interrupted
at
com.sun.jini.jeri.internal.mux.Session$MuxInputStream.read(Session.java:833)
at
net.jini.jeri.connection.ConnectionManager$Outbound$Input.read(ConnectionManager.java:550)
at
net.jini.jeri.BasicObjectEndpoint.executeCall(BasicObjectEndpoint.java:410)
at
net.jini.jeri.BasicInvocationHandler.invokeRemoteMethodOnce(BasicInvocationHandler.java:806)
... 12 more
Caused by: java.lang.InterruptedException
at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Object.java:485)
at
com.sun.jini.jeri.internal.mux.Session$MuxInputStream.read(Session.java:829)
... 15 more