Details
-
Bug
-
Resolution: Fixed
-
Major
-
None
-
None
-
Untriaged
-
0
-
Unknown
Description
MB-61155 removed the unnecessary unPause() and pause() every time step was called as part of checking for the next item to send.
Now that we know the duration for how long we've been blocked for the consumer we can add a log entry to make it easier to spot that the producer is blocked due to the consumer not freeing up space.
It is hard to find a value which would fit for all purposes, and we don't want to flood the logs with information in the common case. Start by setting this to 5 minutes which seems like plenty of time for the consumer to free up some bytes on its side and report that back.
Continue to log once a minute until the client release space in the buffer log.
This information would remove any uncertainties around MB-61040 if the stream is paused due to the consumer not freeing up space or if there is some sort of missing notifications in the readyqueue causing a long "pause".
In addition to the logging we should force a disconnect of any consumer which have been (continuously) blocked for an hour to free up any allocated resources on the server.