[jacorb-developer] JacORB 3.6.1 : Client closing
Nicolas Aguilé
na.ais40 at wanadoo.fr
Mon Jun 29 10:44:50 CEST 2015
Hi,
After update, we have had a suspect behavior (one shot) after a network cut : one client has never recover the connection (related to BZ967 ????) and the following message appears in our log file :
2015-06-25 06:36:43,423 DEBUG [sicops-LFMY-export-2] (ClientConnectionManager.java:179) - ClientConnectionManager: cannot release ClientGIOPConnection to nco4-1-salon-diff.ba701.nco4-1.nco4.air.defense:14300 (562e6f02) (still has 48639 client(s))2015-06-25 06:36:43,424 DEBUG [sicops-LFMY-export-2] (Delegate.java:2188) - Delegate released!2015-06-25 06:36:43,425 INFO [sicops-LFMY-export-2] (ClientConnectionManager.java:148) - ClientConnectionManager: found ClientGIOPConnection to nco4-1-salon-diff.ba701.nco4-1.nco4.air.defense:14300 (562e6f02)
What surprising us is the number of clients (48639) still using the GIOP connection.Regarding this, we have a look on the code and we have a question :
If the property disconnect_after_systemexception is not set (NOT OUR CASE) the disconnect method in the Delegate returns before releasing the connection (seems to be normal regarding de property description) but is there any risk to keep Client affected to Connection and have a memory leak ?
private void disconnect(ClientConnection connectionInUse) { if (connectionInUse == null) { return; }
if (!disconnectAfterNonRecoverableSystemException) { return; }
synchronized(bind_sync) { if (connections[currentConnection.ordinal ()] == null) { return; }
if (connections[currentConnection.ordinal ()] != connectionInUse) { return; }
logger.debug("release the connection");
conn_mg.releaseConnection( connections[currentConnection.ordinal ()] ); connections[currentConnection.ordinal ()] = null; bound = false; } }
Thanks
Nicolas
More information about the jacorb-developer
mailing list