You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
QueueConsumer does not recover from java.lang.Error instances and there's no API to re-schedule another QueueConsumer. That results in the message queue getting filled up and no metrics getting emitted.
I had an application instance that had an OutOfMemoryError thrown in QueueConsumer. Here's the stack trace of the thread that was supposed to run QueueConsumer:
I ran into a very similar problem with com.timgroup.statsd.NonBlockingStatsDClient.StatsDSender. Just catching OutOfMemoryError in the run method would have handled my case.
QueueConsumer
does not recover fromjava.lang.Error
instances and there's no API to re-schedule anotherQueueConsumer
. That results in the message queue getting filled up and no metrics getting emitted.I had an application instance that had an
OutOfMemoryError
thrown inQueueConsumer
. Here's the stack trace of the thread that was supposed to runQueueConsumer
:Here are some things I think we could do to mitigate that:
QueueConsumer#run
. In particular, packet encoding could be performed in the client threadsQueueConsumer
OutOfMemoryError
(are there other recoverable errors?) inQueueConsumer
The text was updated successfully, but these errors were encountered: