This is related to modifications done for RFE 4343.
Sometimes a message like this appears in the logs:
"Monitor data of remote servers are missing due to an error in the
retrieval process. Potentially a server is too slow to provide its
monitoring data over the protocol"
This seems to be introduced by the monitoring publisher thread which may
call the ReplicationServerDomain.completeMonitorData method at the same
time a MonitoringRequest message is being treated and is also in the
same method.
These 2 threads are concurrently running the
ReplicationServerDomain.completeMonitorData method as one of the thread
wants to execute wrkMonitorData.completeComputing() which is outside of
the syncronized section, the other thread may reset wrkMonitorData to
null just before and this leads to a NPE. So another RS waiting for the
monitor response will never receive it and display the annoying message.
The fix is to move the wrkMonitorData.completeComputing() call into the
synchronized section.