Skip to content

重启服务后,dubbo线程池DubboServerHandler频繁创建线程,直至资源耗尽 #4986

@0x9bb1

Description

@0x9bb1
  • [√] I have searched the issues of this repository and believe that this is not a duplicate.
  • [√] I have checked the FAQ of this repository and believe that this is not a duplicate.

Environment

  • Dubbo version: 2.6.1
  • Operating System version: centOS7
  • Java version: 1.7

Steps to reproduce this issue

  1. 停机服务,重启
  2. dubbo无法注册到zk,已检查端口和ip无异常
  3. DubboServerHandler一直启线程,直到OOM

Expected Result

期望服务重启后,可以正常注册到zk,平稳提供服务

Actual Result

OOM,服务崩溃

If there is an exception, please attach the exception trace:

Exception in thread "DubboServerHandler-10.20.200.108:21030-thread-52" java.lang.OutOfMemoryError: GC overhead limit exceeded
        at java.util.concurrent.ConcurrentHashMap$Segment.put(ConcurrentHashMap.java:457)
        at java.util.concurrent.ConcurrentHashMap.put(ConcurrentHashMap.java:1130)
        at com.alibaba.dubbo.remoting.transport.netty.NettyChannel.setAttribute(NettyChannel.java:153)
        at com.alibaba.dubbo.remoting.exchange.support.header.HeaderExchangeHandler.disconnected(HeaderExchangeHandler.java:118)
        at com.alibaba.dubbo.remoting.transport.AbstractChannelHandlerDelegate.disconnected(AbstractChannelHandlerDelegate.java:45)
        at com.alibaba.dubbo.remoting.transport.dispatcher.ChannelEventRunnable.run(ChannelEventRunnable.java:64)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
        at java.lang.Thread.run(Thread.java:745)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions