Heartbeat is broken
Steps to reproduce
The Heartbeat runnable job JobProducerHeartbeat starts once and then throws an Exception (not reported in the logs) and is never seen again, as subsequent execution is suppressed by ScheduledThreadPoolExecutor.
Adding a try/catch block around it with exception logging reveals:
This looks like it was broken by the change for
The NPE is at line 232 here in 4.x: