[jira] Created: (ZOOKEEPER-863) Runaway thread - Zookeeper inside Eclipse
Runaway thread - Zookeeper inside Eclipse - Key: ZOOKEEPER-863 URL: https://issues.apache.org/jira/browse/ZOOKEEPER-863 Project: Zookeeper Issue Type: Bug Affects Versions: 3.3.0 Environment: Linux; x86 Reporter: Stephen McCants Priority: Critical I'm running Zookeeper inside an Eclipse application. When I launch the application from inside Eclipse I use the following arguments: -Dzoodiscovery.autoStart=true -Dzoodiscovery.flavor=zoodiscovery.flavor.centralized=localhost This causes the application to start its own ZooKeeper server inside the JVM/application. It immediately goes into a runaway state. The name of the runaway thread is NIOServerCxn.Factory:0.0.0.0/0.0.0.0:2181. When I suspend this thread, the CPU usage returns to 0. Here is a stack trace from that thread when it is suspended: EPollArrayWrapper.epollWait(long, int, long, int) line: not available [native method] EPollArrayWrapper.poll(long) line: 215 EPollSelectorImpl.doSelect(long) line: 77 EPollSelectorImpl(SelectorImpl).lockAndDoSelect(long) line: 69 EPollSelectorImpl(SelectorImpl).select(long) line: 80 NIOServerCnxn$Factory.run() line: 232 Any ideas what might be going wrong? Thanks. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
[jira] Created: (ZOOKEEPER-865) Runaway thread
Runaway thread -- Key: ZOOKEEPER-865 URL: https://issues.apache.org/jira/browse/ZOOKEEPER-865 Project: Zookeeper Issue Type: Bug Affects Versions: 3.3.1, 3.3.0 Environment: Linux; Java 1.6; x86; Reporter: Stephen McCants Priority: Critical I'm starting a standalone Zookeeper server (v3.3.1). That starts normally and does not have a runaway thread. Next, I start an based Eclipse application that is using ZK 3.3.0 to register itself with the ZooKeeper server (3.3.1). The Eclipse application using the following arguments to Eclipse: -Dzoodiscovery.autoStart=true -Dzoodiscovery.flavor=zoodiscovery.flavor.centralized=smccants.austin.ibm.com When the Eclipse application starts, the ZK server prints out: 2010-09-03 09:59:46,006 - INFO [NIOServerCxn.Factory:0.0.0.0/0.0.0.0:2181:nioservercnxn$fact...@250] - Accepted socket connection from /9.53.189.11:42271 2010-09-03 09:59:46,039 - INFO [NIOServerCxn.Factory:0.0.0.0/0.0.0.0:2181:nioserverc...@776] - Client attempting to establish new session at /9.53.189.11:42271 2010-09-03 09:59:46,045 - INFO [SyncThread:0:nioserverc...@1579] - Established session 0x12ad81b9002 with negotiated timeout 4000 for client /9.53.189.11:42271 2010-09-03 09:59:46,046 - INFO [NIOServerCxn.Factory:0.0.0.0/0.0.0.0:2181:nioservercnxn$fact...@250] - Accepted socket connection from /9.53.189.11:42272 2010-09-03 09:59:46,078 - INFO [NIOServerCxn.Factory:0.0.0.0/0.0.0.0:2181:nioserverc...@776] - Client attempting to establish new session at /9.53.189.11:42272 2010-09-03 09:59:46,080 - INFO [SyncThread:0:nioserverc...@1579] - Established session 0x12ad81b9003 with negotiated timeout 4000 for client /9.53.189.11:42272 Then both the Eclipse application and the ZK server go into runaway states and consume 100% of the CPU. Here is a view from top: PID USERPR NI VIRTRES SHR S %CPU %MEMTIME+ COMMAND 4949 smccants 15 0 597m 78m 5964 S66.2 1.0 1:03.14 autosubmitter 4876 smccants 17 0 554m 27m 6688 S30.9 0.3 0:34.74 java PID 4949 (autosubmitter) is the Eclipse application and is using more than twice the CPU of PID 4876 (java) which is the ZK server. They will continue in this state indefinitely. I can attach a debugger to the Eclipse application and if I stop the thread named pool-1-thread-2-SendThread(smccants.austin.ibm.com:2181) and the runaway condition stops on both the application and ZK server. However the ZK server reports: 2010-09-03 10:03:38,001 - INFO [SessionTracker:zookeeperser...@315] - Expiring session 0x12ad81b9003, timeout of 4000ms exceeded 2010-09-03 10:03:38,002 - INFO [ProcessThread:-1:preprequestproces...@208] - Processed session termination for sessionid: 0x12ad81b9003 2010-09-03 10:03:38,005 - INFO [SyncThread:0:nioserverc...@1434] - Closed socket connection for client /9.53.189.11:42272 which had sessionid 0x12ad81b9003 Here is the stack trace from the suspended thread: EPollArrayWrapper.epollWait(long, int, long, int) line: not available [native method] EPollArrayWrapper.poll(long) line: 215 EPollSelectorImpl.doSelect(long) line: 77 EPollSelectorImpl(SelectorImpl).lockAndDoSelect(long) line: 69 EPollSelectorImpl(SelectorImpl).select(long) line: 80 ClientCnxn$SendThread.run() line: 1066 Any ideas what might be going wrong? Thanks. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
[jira] Commented: (ZOOKEEPER-863) Runaway thread - Zookeeper inside Eclipse
[ https://issues.apache.org/jira/browse/ZOOKEEPER-863?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=12906014#action_12906014 ] Stephen McCants commented on ZOOKEEPER-863: --- Removing the registered service after ZK had stopped running away, causes ZK to return to using 100% of the CPU. Runaway thread - Zookeeper inside Eclipse - Key: ZOOKEEPER-863 URL: https://issues.apache.org/jira/browse/ZOOKEEPER-863 Project: Zookeeper Issue Type: Bug Affects Versions: 3.3.0 Environment: Linux; x86 Reporter: Stephen McCants Priority: Critical I'm running Zookeeper inside an Eclipse application. When I launch the application from inside Eclipse I use the following arguments: -Dzoodiscovery.autoStart=true -Dzoodiscovery.flavor=zoodiscovery.flavor.centralized=localhost This causes the application to start its own ZooKeeper server inside the JVM/application. It immediately goes into a runaway state. The name of the runaway thread is NIOServerCxn.Factory:0.0.0.0/0.0.0.0:2181. When I suspend this thread, the CPU usage returns to 0. Here is a stack trace from that thread when it is suspended: EPollArrayWrapper.epollWait(long, int, long, int) line: not available [native method] EPollArrayWrapper.poll(long) line: 215 EPollSelectorImpl.doSelect(long) line: 77 EPollSelectorImpl(SelectorImpl).lockAndDoSelect(long) line: 69 EPollSelectorImpl(SelectorImpl).select(long) line: 80 NIOServerCnxn$Factory.run() line: 232 Any ideas what might be going wrong? Thanks. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
[jira] Updated: (ZOOKEEPER-863) Runaway thread - Zookeeper inside Eclipse
[ https://issues.apache.org/jira/browse/ZOOKEEPER-863?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Stephen McCants updated ZOOKEEPER-863: -- Attachment: zookeeper.log Runaway thread - Zookeeper inside Eclipse - Key: ZOOKEEPER-863 URL: https://issues.apache.org/jira/browse/ZOOKEEPER-863 Project: Zookeeper Issue Type: Bug Affects Versions: 3.3.0 Environment: Linux; x86 Reporter: Stephen McCants Priority: Critical Attachments: zookeeper.log I'm running Zookeeper inside an Eclipse application. When I launch the application from inside Eclipse I use the following arguments: -Dzoodiscovery.autoStart=true -Dzoodiscovery.flavor=zoodiscovery.flavor.centralized=localhost This causes the application to start its own ZooKeeper server inside the JVM/application. It immediately goes into a runaway state. The name of the runaway thread is NIOServerCxn.Factory:0.0.0.0/0.0.0.0:2181. When I suspend this thread, the CPU usage returns to 0. Here is a stack trace from that thread when it is suspended: EPollArrayWrapper.epollWait(long, int, long, int) line: not available [native method] EPollArrayWrapper.poll(long) line: 215 EPollSelectorImpl.doSelect(long) line: 77 EPollSelectorImpl(SelectorImpl).lockAndDoSelect(long) line: 69 EPollSelectorImpl(SelectorImpl).select(long) line: 80 NIOServerCnxn$Factory.run() line: 232 Any ideas what might be going wrong? Thanks. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.