Syncer Thread flapping

Started by Tursiops, June 21, 2016, 01:27:15 AM

Previous topic - Next topic

Tursiops

Hi,

I keep receiving alerts on 'Thread "Syncer thread" is not responding'. Happens every few minutes and a few seconds later it's back to "Thread "Syncer Thread" was returned to running state'.

Not quite sure if it's related or not, but we also see systems that alert on "SNMP agent is not responding" and even when SNMP is back up and it is happily collecting data, the alert just stays until it is manually resolved. That doesn't happen for all SNMP alerts, but enough to be noticeable. Basically every morning I go through the alerts and remove those false positives.

We also have some systems that sometimes report that the NetXMS agent is not responding. However the agent is in fact up and running.
Running a "Status Poll" returns an "UNKNOWN" state. The only thing that brings such systems back is a full configuration poll.
It feels like the system is "stuck" in some state which is not reset unless a full poll is run.

Not sure if these are related to the Syncer Thread problem or if they are all independent issues?
(Still running NetXMS 2.0.3)

Tursiops

Ok, I think I narrowed down at least the SNMP one. For all I can tell so far, this seems to happen when a system reboots, i.e. a Windows Server with an agent which acts as its own proxy for SNMP connectivity (so we don't have to port forward SNMP).

That means this one is probably not related to the Syncer Thread issue, so I'll copy and paste this part of it into a new post with a more meaningful subject.

Tursiops

Switching to NetXMS 2.0.4 made no difference.

However, changing the SyncInterval in the Server Configuration from 60 to 300 made those Syncer Thread messages disappear completely.
Does that mean the Syncer Thread/system was simply too busy to get its work done within the default minute interval?

Victor Kirhenshtein

Hi,

most likely. It could be due to slow database response - you can check that by setting server configuration parameter LongRunningQueryThreshold to non-zero value - it will log all SQL queries with execution time longer than given number of milliseconds.

Best regards,
Victor