[ 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