RFR of JDK-8232446: logging enhancement for rmi when socket closed

Hamlin Li huaming.li at oracle.com
Wed Nov 27 01:51:36 UTC 2019


Hi Roger,

Thanks for reviewing, I have updated as you suggested: 
http://cr.openjdk.java.net/~mli/8232446/webrev.01/

Thank you

-Hamlin

On 2019/11/27 2:47 AM, Roger Riggs wrote:
> Hi Hamlin,
>
> ok, but it looses the logging of the connection close when the socket 
> is null.
> I intended to suggest that the logging happened before/outside the test
> for socket != null.
>
> if (TCPTransport.tcpLog.isLoggable(Log.BRIEF)) {
> TCPTransport.tcpLog.log(Log.BRIEF,"close connection, socket: " + socket);
> }if (socket != null) { Thanks, Roger
> On 11/22/19 2:54 AM, Hamlin Li wrote:
>> Hi Roger,
>>
>> Thank you for reviewing, I have updated as you suggested: 
>> http://cr.openjdk.java.net/~mli/8232446/webrev.01/
>>
>> Thank you
>>
>> -Hamlin
>>
>> On 2019/11/18 11:48 PM, Roger Riggs wrote:
>>> Hi Hamlin,
>>>
>>> TCPConnection.java:212:
>>>
>>> Keep the "close connection" logging and add the socket to the same 
>>> log message:
>>>
>>> If anyone is scraping the log, they won't loose this message. 
>>> TCPTransport.tcpLog.log(Log.BRIEF, "close connection, socket: " + 
>>> socket);
>>>
>>> TCPTransport.java
>>>
>>> 277-278:  combine the message to be one logging call.
>>> server socket
>>> 289: use Log.BRIEF, avoid creating mixture of and too many log levels.
>>>
>>> Reword the log messages so they each begin with "server socket...",
>>> or "server socket close"...
>>> it makes it easier to grep for and coorelate related messages
>>>
>>> Thanks, Roger
>>>
>>>
>>> On 11/6/19 7:02 AM, Hamlin Li wrote:
>>>>
>>>> On 2019/11/6 5:36 PM, Peter Levart wrote:
>>>>> Hi Hamlin,
>>>>>
>>>>> in TCPTransport.decrementExportCount():
>>>>>
>>>>>  283             try {
>>>>>  284                 if (tcpLog.isLoggable(Log.BRIEF)) {
>>>>>  285                     tcpLog.log(Log.BRIEF, "close server 
>>>>> socket on " + ss);
>>>>>  286                 }
>>>>>  287                 ss.close();
>>>>>  288             } catch (IOException e) {
>>>>>  289             }
>>>>>
>>>>> ...you could add a log statement to the catch block too. Or even 
>>>>> better, rearrange for IOException to be thrown from that method 
>>>>> and deal with it in two places:
>>>>>
>>>>> - in exportObject() - add it as suppressed exception to exception 
>>>>> thrown from super.exportObject().
>>>>> - in targetUnexported() - log it or wrap it into 
>>>>> UncheckedIOException (depending on what are the callers of 
>>>>> targetUnexported())
>>>>>
>>>>> What do you think?
>>>> Thanks Peter.
>>>>
>>>> I agree. I adopt your first suggestion: add log statement to catch 
>>>> block, as I think it's simple/straight and sufficient to help 
>>>> diagnose.
>>>>
>>>> And I also add log for catch blocks in other close places.
>>>>
>>>> The change is updated in place at: 
>>>> http://cr.openjdk.java.net/~mli/8232446/webrev.00/
>>>>
>>>>
>>>> Thank you
>>>>
>>>> -Hamlin
>>>>
>>>>>
>>>>> Regards, Peter
>>>>>
>>>>>
>>>>>
>>>>> On 11/6/19 3:07 AM, Hamlin Li wrote:
>>>>>> Would you please review the patch?
>>>>>>
>>>>>> bug: https://bugs.openjdk.java.net/browse/JDK-8232446
>>>>>>
>>>>>> webrev: http://cr.openjdk.java.net/~mli/8232446/webrev.00/
>>>>>>
>>>>>>
>>>>>> We have some intermittent failures in rmi related to socket 
>>>>>> closing, this is to add more logging to help diagnose the issues.
>>>>>>
>>>>>>
>>>>>> Thanks you
>>>>>>
>>>>>> -Hamlin
>>>>>>
>>>>>
>>>
>


More information about the core-libs-dev mailing list