[ 
https://forge.continuent.org/jira/browse/SEQUOIA-942?page=comments#action_13897 
] 

Marc Herbert commented on SEQUOIA-942:
--------------------------------------

The 2 pipes belong to the Selector
The  UDP to DatagramChannel

close()-ing the channel get rids of UDP leak
close()-ing the selector (only) gets rid of both leaks

The problem is that the object created by Selector.open() does not clean-up 
resources properly when finalized. The following code fails with too many open 
files:

  public void testSelectorLeak() throws IOException, InterruptedException
  {
    while (true)
    {
      Selector s = Selector.open();
      // s.close();
      // Thread.sleep(200);
    }
  }
 
Maybe this should be reported to Sun. Or not.

The workaround is one-line long, to be committed.


> controller pinger leaks UDP file descriptors
> --------------------------------------------
>
>          Key: SEQUOIA-942
>          URL: https://forge.continuent.org/jira/browse/SEQUOIA-942
>      Project: Sequoia
>         Type: Bug
>   Components: JDBC Driver
>     Versions: Sequoia 2.10.7, Sequoia 2.10.6, Sequoia 2.10.5
>     Reporter: Marc Herbert
>     Priority: Minor

>
>
> To reproduce, shut down the network interface on the client. The pinger gets 
> a IOException every time it tries to send a ping and thus restarts itself 
> every pingDelay. So far so good. For some non-obvious reason, the new UDP 
> socket created at each restart stays visible in "lsof", just like it is not 
> garbage-collected. After a few minutes the socket IOException becomes a "too 
> many open files" IOException.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   https://forge.continuent.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira


_______________________________________________
Sequoia mailing list
Sequoia@lists.forge.continuent.org
https://forge.continuent.org/mailman/listinfo/sequoia

Reply via email to