Min Zhou created TAJO-522:
-----------------------------
Summary: OutOfMemoryError: unable to create new native thread
Key: TAJO-522
URL: https://issues.apache.org/jira/browse/TAJO-522
Project: Tajo
Issue Type: Bug
Affects Versions: 0.8-incubating
Reporter: Min Zhou
Priority: Critical
Another exception occurs on the client side when I run a query
{noformat}
Progress: 0%, response time: 190.197 sec
com.google.protobuf.ServiceException: java.lang.OutOfMemoryError: unable to
create new native thread
at org.apache.tajo.client.TajoClient.getQueryStatus(TajoClient.java:193)
at org.apache.tajo.cli.TajoCli.getQueryResult(TajoCli.java:353)
at org.apache.tajo.cli.TajoCli.executeStatements(TajoCli.java:319)
at org.apache.tajo.cli.TajoCli.runShell(TajoCli.java:228)
at org.apache.tajo.cli.TajoCli.main(TajoCli.java:735)
Caused by: java.io.IOException: java.lang.OutOfMemoryError: unable to create
new native thread
at org.apache.tajo.rpc.NettyClientBase.init(NettyClientBase.java:76)
at
org.apache.tajo.rpc.BlockingRpcClient.<init>(BlockingRpcClient.java:71)
at
org.apache.tajo.rpc.RpcConnectionPool.makeConnection(RpcConnectionPool.java:54)
at
org.apache.tajo.rpc.RpcConnectionPool.getConnection(RpcConnectionPool.java:63)
at org.apache.tajo.client.TajoClient.getQueryStatus(TajoClient.java:188)
... 4 more
Caused by: java.lang.OutOfMemoryError: unable to create new native thread
at java.lang.Thread.start0(Native Method)
at java.lang.Thread.start(Thread.java:640)
at
java.util.concurrent.ThreadPoolExecutor.addIfUnderMaximumPoolSize(ThreadPoolExecutor.java:727)
at
java.util.concurrent.ThreadPoolExecutor.execute(ThreadPoolExecutor.java:657)
at
org.jboss.netty.util.internal.DeadLockProofWorker.start(DeadLockProofWorker.java:38)
at
org.jboss.netty.channel.socket.nio.AbstractNioSelector.openSelector(AbstractNioSelector.java:343)
at
org.jboss.netty.channel.socket.nio.AbstractNioSelector.<init>(AbstractNioSelector.java:95)
at
org.jboss.netty.channel.socket.nio.AbstractNioWorker.<init>(AbstractNioWorker.java:53)
at
org.jboss.netty.channel.socket.nio.NioWorker.<init>(NioWorker.java:45)
at
org.jboss.netty.channel.socket.nio.NioWorkerPool.createWorker(NioWorkerPool.java:45)
at
org.jboss.netty.channel.socket.nio.NioWorkerPool.createWorker(NioWorkerPool.java:28)
at
org.jboss.netty.channel.socket.nio.AbstractNioWorkerPool.newWorker(AbstractNioWorkerPool.java:99)
at
org.jboss.netty.channel.socket.nio.AbstractNioWorkerPool.init(AbstractNioWorkerPool.java:69)
at
org.jboss.netty.channel.socket.nio.NioWorkerPool.<init>(NioWorkerPool.java:39)
at
org.jboss.netty.channel.socket.nio.NioWorkerPool.<init>(NioWorkerPool.java:33)
at
org.jboss.netty.channel.socket.nio.NioClientSocketChannelFactory.<init>(NioClientSocketChannelFactory.java:151)
at
org.jboss.netty.channel.socket.nio.NioClientSocketChannelFactory.<init>(NioClientSocketChannelFactory.java:116)
at org.apache.tajo.rpc.NettyClientBase.init(NettyClientBase.java:54)
... 8 more
java.lang.OutOfMemoryError: unable to create new native thread
2014-01-19 23:12:19,975 WARN client.TajoClient
(TajoClient.java:closeQuery(110)) - Fail to close a QueryMaster connection
(qid=q_1390100273039_0012, msg=java.lang.OutOfMemoryError: unable to create new
native thread)
java.io.IOException: java.lang.OutOfMemoryError: unable to create new native
thread
at org.apache.tajo.rpc.NettyClientBase.init(NettyClientBase.java:76)
at
org.apache.tajo.rpc.BlockingRpcClient.<init>(BlockingRpcClient.java:71)
at
org.apache.tajo.rpc.RpcConnectionPool.makeConnection(RpcConnectionPool.java:54)
at
org.apache.tajo.rpc.RpcConnectionPool.getConnection(RpcConnectionPool.java:63)
at org.apache.tajo.client.TajoClient.closeQuery(TajoClient.java:106)
at org.apache.tajo.cli.TajoCli.executeStatements(TajoCli.java:323)
at org.apache.tajo.cli.TajoCli.runShell(TajoCli.java:228)
at org.apache.tajo.cli.TajoCli.main(TajoCli.java:735)
Caused by: java.lang.OutOfMemoryError: unable to create new native thread
at java.lang.Thread.start0(Native Method)
at java.lang.Thread.start(Thread.java:640)
at
java.util.concurrent.ThreadPoolExecutor.addIfUnderMaximumPoolSize(ThreadPoolExecutor.java:727)
at
java.util.concurrent.ThreadPoolExecutor.execute(ThreadPoolExecutor.java:657)
at
org.jboss.netty.util.internal.DeadLockProofWorker.start(DeadLockProofWorker.java:38)
at
org.jboss.netty.channel.socket.nio.AbstractNioSelector.openSelector(AbstractNioSelector.java:343)
at
org.jboss.netty.channel.socket.nio.AbstractNioSelector.<init>(AbstractNioSelector.java:95)
at
org.jboss.netty.channel.socket.nio.AbstractNioWorker.<init>(AbstractNioWorker.java:53)
at
org.jboss.netty.channel.socket.nio.NioWorker.<init>(NioWorker.java:45)
at
org.jboss.netty.channel.socket.nio.NioWorkerPool.createWorker(NioWorkerPool.java:45)
at
org.jboss.netty.channel.socket.nio.NioWorkerPool.createWorker(NioWorkerPool.java:28)
at
org.jboss.netty.channel.socket.nio.AbstractNioWorkerPool.newWorker(AbstractNioWorkerPool.java:99)
at
org.jboss.netty.channel.socket.nio.AbstractNioWorkerPool.init(AbstractNioWorkerPool.java:69)
at
org.jboss.netty.channel.socket.nio.NioWorkerPool.<init>(NioWorkerPool.java:39)
at
org.jboss.netty.channel.socket.nio.NioWorkerPool.<init>(NioWorkerPool.java:33)
at
org.jboss.netty.channel.socket.nio.NioClientSocketChannelFactory.<init>(NioClientSocketChannelFactory.java:151)
at
org.jboss.netty.channel.socket.nio.NioClientSocketChannelFactory.<init>(NioClientSocketChannelFactory.java:116)
at org.apache.tajo.rpc.NettyClientBase.init(NettyClientBase.java:54)
... 7 more
{noformat}
I am not sure why client side need to create quite a lot of threads.
--
This message was sent by Atlassian JIRA
(v6.1.5#6160)