Azure / azure-service-bus-java

☁️ Java client library for Azure Service Bus
https://azure.microsoft.com/services/service-bus
MIT License
60 stars 59 forks source link

Error in logs while using QueueClient #268

Open eryabitskiy-acx opened 6 years ago

eryabitskiy-acx commented 6 years ago

Focus on exceptions I have created an instance of QueueClient. In running server application. After some time I get several errors in logs. While doing nothing with QueueClient. Error message:

c.m.a.s.primitives.RequestResponseLink : Internal receive link of requestresponselink to '$cbs' closed with error.

com.microsoft.azure.servicebus.primitives.ServiceBusException: Error{condition=amqp:connection:forced, description='The connection was inactive for more than the allowed 60000 milliseconds and is closed by container 'LinkTracker'. #########, Timestamp:8/22/2018 12:13:51 PM', info=null}
    at com.microsoft.azure.servicebus.primitives.ExceptionUtil.toException(ExceptionUtil.java:113)
    at com.microsoft.azure.servicebus.primitives.RequestResponseLink$InternalReceiver.onClose(RequestResponseLink.java:636)
    at com.microsoft.azure.servicebus.amqp.BaseLinkHandler.processOnClose(BaseLinkHandler.java:68)
    at com.microsoft.azure.servicebus.amqp.BaseLinkHandler.onLinkRemoteClose(BaseLinkHandler.java:42)
    at org.apache.qpid.proton.engine.BaseHandler.handle(BaseHandler.java:176)
    at org.apache.qpid.proton.engine.impl.EventImpl.dispatch(EventImpl.java:108)
    at org.apache.qpid.proton.reactor.impl.ReactorImpl.dispatch(ReactorImpl.java:309)
    at org.apache.qpid.proton.reactor.impl.ReactorImpl.process(ReactorImpl.java:276)
    at com.microsoft.azure.servicebus.primitives.MessagingFactory$RunReactor.run(MessagingFactory.java:481)
    at java.lang.Thread.run(Thread.java:748)

Describe the bug In issue #86 it described as "normal behavior". There should NO error messages if it is normal case and I don't need to perform any actions from my side.

To Reproduce Just create QueueClient instance and wait for error in logs.

Expected behavior No errors should be in logs, unless something wrong happen and I need to change implementation/configuration.

Environment (please complete the following information):

mrdfuse commented 6 years ago

We got the same problem were we are being flooded with ERRORs from com.microsoft.azure.servicebus.primitives.CoreMessageReceiver and com.microsoft.azure.servicebus.primitives.MessagingFactory. We already got the message once from the servicebus team that these are 'normal' and can be ignored (https://github.com/Azure/azure-service-bus-java/issues/259 and https://github.com/Azure/azure-service-bus-java/issues/258). However, if we filter these classes from our logging, we risk also supressing real errors.

yvgopal commented 6 years ago

I am assigning this a low priority. Both error cases and warning cases result in the same event being raised. I don't want to string match just to determine the log type (ERROR or WARNING). I will keep this issue open, but will fix it only when I figure out a better way than string matching.