river-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Peter Firmstone <j...@zeus.net.au>
Subject Re: Interrupt propagated to wrong thread?
Date Mon, 06 Feb 2012 22:41:27 GMT
Well, not to my knowledge, anything could be interrupting the thread 
(because it's waiting) on the remote machine which is propagating it as 
an IOException.

So we don't know in this case what caused the interruption, as that 
stack trace is missing.

Do you have logging activated at the remote end?

I've attached a patch that will record the stack trace, which should 
identify interrupt cause.

But you'll need to build River from source.

Alternatively I can commit the patch and you can pick up a Hudson build?

Regards,

Peter.


Bryan Thompson wrote:
> 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