azure-service-bus-java icon indicating copy to clipboard operation
azure-service-bus-java copied to clipboard

CoreMessageReceiver.returnMesagesLoopDaemon is being executed too often causing higher CPU consumption

Open ertwroc opened this issue 5 years ago • 0 comments

Actual Behavior

CoreMessageReceiver.returnMesagesLoopDaemon is scheduled to be executed every millisecond even if there are neither prefetched messages nor pending receivers, causing unnecessary higher CPU usage.

Expected Behavior

Solution to this could be to use blocking queue and its take() method or poll(time, unit) instead of poll() for prefetchedMessages and pendingReceives collections.

Versions

  • OS platform and version: Windows 10 enterprise
  • Maven package version or commit ID: 3.2.0 (related code looks the same as in version 3.4.0)

ertwroc avatar Jul 23 '20 12:07 ertwroc