[ 
https://issues.apache.org/jira/browse/ZOOKEEPER-4736?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

ASF GitHub Bot updated ZOOKEEPER-4736:
--------------------------------------
    Labels: pull-request-available  (was: )

> socket fd leak
> --------------
>
>                 Key: ZOOKEEPER-4736
>                 URL: https://issues.apache.org/jira/browse/ZOOKEEPER-4736
>             Project: ZooKeeper
>          Issue Type: Bug
>          Components: java client, server
>    Affects Versions: 3.6.3, 3.7.0, 3.8.0, 3.9.0
>         Environment: zookeeper 3.6.3 
>            Reporter: lchq
>            Priority: Major
>              Labels: pull-request-available
>         Attachments: 4cea510a57af58c08e73d146e8535ee4.jpg, 
> IMG_20230815_114433.jpg
>
>          Time Spent: 10m
>  Remaining Estimate: 0h
>
> if network service is unavailable, as "ifdown eth0" or "service network stop" 
> and so on, zk-client process running on this node will   experience fd 
> leakage 。it happens for invoking  "new Zookeeper(..)". 
> when   network service is unavailable, ClientCnxn::SendThread::run() method 
> will continuely do startConnect(),and suffer exception "SocketException: 
> Network is unreachable". Exception handlers catch this exception and do 
> SendThread::cleanup() to do some clean operation,but because  in 
> ClientCnxnSocketNIO::registerAndConnect method socket is registed to selector 
> firstly and do  sock.connect operation leading the fd of sock can't be closed.
> Changing the order of sock.connect and sock.register can solve this issue,and 
> it will not affect Original sense because of the sock.reister take effect 
> when  selector.select(waitTimeOut) is triggered



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to