Markus Spann created SSHD-1058:
----------------------------------

             Summary: ChannelOutputStream#flush should not log at error level
                 Key: SSHD-1058
                 URL: https://issues.apache.org/jira/browse/SSHD-1058
             Project: MINA SSHD
          Issue Type: Bug
    Affects Versions: 2.5.1, 2.5.0
         Environment: Linux, Java 11
            Reporter: Markus Spann


When calling flush on ChannelOutputStream, Window.waitForSpace may throw a 
WindowClosedException. This exception is always logged at error level, then 
rethrown. If Debug is enabled on the logger, the error log is issued twice 
(second time with stacktrace).

During deinitialization it is common practice to call flush on output streams. 
Due to the asynchronous nature of the code in this library, the call may fail. 
The caller should decide how to deal with the exception and log at error level 
if needed.
The implementation should not log at error level regardless.

I would suggest INFO level instead (if logging at all).

 
{code:java}
// lines 202 ff.
if (log.isDebugEnabled()) {
    log.info("flush({}) failed ({}) to wait for space of len={}: {}: ", this, 
e.getClass().getSimpleName(), total, e.getMessage(), e); // with stacktrace
} else {
    log.info("flush({}) failed ({}) to wait for space of len={}: {}",
 this, e.getClass().getSimpleName(), total, e.getMessage());
}
throw e;
{code}
Thanks,
Markus

 

 



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to