river-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Bryan Thompson <br...@systap.com>
Subject Interrupt propagated to wrong thread?
Date Mon, 06 Feb 2012 21:03:25 GMT
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 

Mime
View raw message