Flagging as a blocker until we get a better understanding of the bug, and specifically how frequently it occurs.
Steps to reproduce:
- installed a 7.0.0 (6096983f58fae4d73fc29b8de7bcfe51db8f0833) with the dsEvaluation profile and 100000 sample entries (the default)
- performed a couple of searches and monitored them under the debugger
- stopped the searches
- observed that the server is still consuming 200% CPU, i.e. two threads are spinning at 100% each
No update operations have been performed, yet the server is spinning in replication changetime heartbeat threads which seem to have got into a bad state. In other words, I don't think the searches or debugging had anything to do with the spin:
The listener threads have signalled that the changetime heartbeat threads should shutdown. Attaching the debugger I can see that the heartbeat thread is spinning and unable to act on the notification. In particular, org.opends.server.replication.service.CTHeartbeatPublisherThread#shutdown is set true, but the thread is stuck inside org.opends.server.replication.service.ReplicationBroker.publish(ReplicationBroker.java:1847):
In the above method shutdown, connectionError and recoveryInProgress are false and connectedRS.get().session is null. As a result the method goes into an infinite loop.