[ 
https://issues.apache.org/jira/browse/ARTEMIS-2408?focusedWorklogId=278354&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-278354
 ]

ASF GitHub Bot logged work on ARTEMIS-2408:
-------------------------------------------

                Author: ASF GitHub Bot
            Created on: 17/Jul/19 17:55
            Start Date: 17/Jul/19 17:55
    Worklog Time Spent: 10m 
      Work Description: michaelpearce-gain commented on pull request #2759: 
ARTEMIS-2408 Too many opened FDs after server stops
URL: https://github.com/apache/activemq-artemis/pull/2759#discussion_r304563505
 
 

 ##########
 File path: 
artemis-server/src/main/java/org/apache/activemq/artemis/core/remoting/server/impl/RemotingServiceImpl.java
 ##########
 @@ -407,15 +408,28 @@ public void stop(final boolean criticalError) throws 
Exception {
          conn.disconnect(criticalError);
       }
 
+      Map<Acceptor, Future<?>> acceptorFutures = new HashMap<>();
       for (Acceptor acceptor : acceptors.values()) {
          try {
-            acceptor.stop();
+            acceptorFutures.put(acceptor, acceptor.asyncStop());
          } catch (Throwable t) {
             
ActiveMQServerLogger.LOGGER.errorStoppingAcceptor(acceptor.getName());
          }
       }
 
+      long acceptorTimeout = System.currentTimeMillis() + 3000;
+      for (Map.Entry<Acceptor, Future<?>> acceptorFuture : 
acceptorFutures.entrySet()) {
+         if (acceptorFuture.getValue() != null) {
+            try {
+               acceptorFuture.getValue().get(Math.max(0, acceptorTimeout - 
System.currentTimeMillis()), TimeUnit.MILLISECONDS);
 
 Review comment:
   What happens to the acceptors that dont close in time? Are the port bindings 
just left hanging (and with them still a network fd)? Is there actually a 
chance by doing this you leave things in an even worse state.
   
   Also how is blocking close on an acceptor affecting fd leak and making it 
async helping, this is not clear to me. Surely the fd has already been made 
when the acceptor was running.....
   
   
   This really needs a unit test recreating the problem.
 
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


Issue Time Tracking
-------------------

    Worklog Id:     (was: 278354)
    Time Spent: 4.5h  (was: 4h 20m)

> Too many opened FDs after server stops
> --------------------------------------
>
>                 Key: ARTEMIS-2408
>                 URL: https://issues.apache.org/jira/browse/ARTEMIS-2408
>             Project: ActiveMQ Artemis
>          Issue Type: Bug
>            Reporter: Domenico Bruscino
>            Priority: Major
>          Time Spent: 4.5h
>  Remaining Estimate: 0h
>
> The number of opened FDs after stop the server on the testsuite is much 
> higher than the number before the server is started, when default netty 
> configuration is used.
>  
>  



--
This message was sent by Atlassian JIRA
(v7.6.14#76016)

Reply via email to