# HG changeset patch # User mli # Date 1574920105 -28800 # Node ID 60bdcb9a7b94894ae53c76420b5044d957f856ee # Parent 17d242844fc9e7d18b3eac97426490a9c246119e 8232446: logging enhancement for rmi when socket closed Reviewed-by: rriggs, plevart diff -r 17d242844fc9 -r 60bdcb9a7b94 src/java.rmi/share/classes/sun/rmi/transport/tcp/TCPConnection.java --- a/src/java.rmi/share/classes/sun/rmi/transport/tcp/TCPConnection.java Wed Nov 27 16:01:34 2019 +0000 +++ b/src/java.rmi/share/classes/sun/rmi/transport/tcp/TCPConnection.java Thu Nov 28 13:48:25 2019 +0800 @@ -209,7 +209,10 @@ * Close the connection. */ public void close() throws IOException { - TCPTransport.tcpLog.log(Log.BRIEF, "close connection"); + if (TCPTransport.tcpLog.isLoggable(Log.BRIEF)) { + TCPTransport.tcpLog.log(Log.BRIEF, + "close connection, socket: " + socket); + } if (socket != null) socket.close(); diff -r 17d242844fc9 -r 60bdcb9a7b94 src/java.rmi/share/classes/sun/rmi/transport/tcp/TCPTransport.java --- a/src/java.rmi/share/classes/sun/rmi/transport/tcp/TCPTransport.java Wed Nov 27 16:01:34 2019 +0000 +++ b/src/java.rmi/share/classes/sun/rmi/transport/tcp/TCPTransport.java Thu Nov 28 13:48:25 2019 +0800 @@ -273,12 +273,23 @@ private void decrementExportCount() { assert Thread.holdsLock(this); exportCount--; + if (tcpLog.isLoggable(Log.VERBOSE)) { + tcpLog.log(Log.VERBOSE, + "server socket: " + server + ", exportCount: " + exportCount); + } if (exportCount == 0 && getEndpoint().getListenPort() != 0) { ServerSocket ss = server; server = null; try { + if (tcpLog.isLoggable(Log.BRIEF)) { + tcpLog.log(Log.BRIEF, "server socket close: " + ss); + } ss.close(); } catch (IOException e) { + if (tcpLog.isLoggable(Log.BRIEF)) { + tcpLog.log(Log.BRIEF, + "server socket close throws: " + e); + } } } } @@ -366,6 +377,10 @@ executeAcceptLoop(); } finally { try { + if (tcpLog.isLoggable(Log.BRIEF)) { + tcpLog.log(Log.BRIEF, + "server socket close: " + serverSocket); + } /* * Only one accept loop is started per server * socket, so after no more connections will be @@ -374,6 +389,10 @@ */ serverSocket.close(); } catch (IOException e) { + if (tcpLog.isLoggable(Log.BRIEF)) { + tcpLog.log(Log.BRIEF, + "server socket close throws: " + e); + } } } } @@ -524,9 +543,15 @@ /** close socket and eat exception */ private static void closeSocket(Socket sock) { try { + if (tcpLog.isLoggable(Log.BRIEF)) { + tcpLog.log(Log.BRIEF, "socket close: " + sock); + } sock.close(); } catch (IOException ex) { // eat exception + if (tcpLog.isLoggable(Log.BRIEF)) { + tcpLog.log(Log.BRIEF, "socket close throws: " + ex); + } } } @@ -591,6 +616,9 @@ conn.close(); } catch (IOException ex) { // eat exception + if (tcpLog.isLoggable(Log.BRIEF)) { + tcpLog.log(Log.BRIEF, "Connection close throws " + ex); + } } } } @@ -723,6 +751,10 @@ // just close socket: this would recurse if we marshal an // exception to the client and the protocol at other end // doesn't match. + if (tcpLog.isLoggable(Log.BRIEF)) { + tcpLog.log(Log.BRIEF, "magic or version not match: " + + magic + ", " + version); + } closeSocket(socket); return; }