On 7/18/19 11:22 AM, Igor Natanzon wrote:
I noticed today that when Qpid client session fails to log in (due to an
invalid password), the log entry that's generated is at DEBUG level:

2019-07-18 11:00:32,262|DEBUG|FailoverProvider: async work
thread|o.a.q.j.JmsConnection|Async exception with no exception listener: {}
java.io.IOException: Client failed to authenticate using SASL: SCRAM-SHA-256
         at
org.apache.qpid.jms.util.IOExceptionSupport.create(IOExceptionSupport.java:45)
         at
org.apache.qpid.jms.provider.ProviderFuture.failOnError(ProviderFuture.java:118)

The only entry showing up at ERROR level is the following:
2019-07-18 10:45:33,649|ERROR|FailoverProvider: async work
thread|o.a.q.j.p.f.FailoverProvider|Failed to connect after: 1 attempt(s)

So if log level is set to WARN or ERROR, the reason for connectivity
failure is not recorded.

Can that be changed, or is there a reason for it to be in Debug level?

Thanks!

Given this is a security exception I'd assume your client failed at Connection.start() or if you had more than one host configured for failover the Connection would have signaled you with a onException would you have had an ExceptionListener registered which would give you suitable information for your application to log the stoppage reason.

When using the Failover mechanism it is assumed that failures will happen and folks tend to complain in the opposite when the full details of each reconnect attempt get logged as the expectation is that the client is going to recover on its own. While we could possibly add more logging for a full stoppage, you should have had all the details contained in the JMSSecurityException that the JMS layer would have provided you.



--
Tim Bish


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

Reply via email to