Poller threads can get locked up while waiting for outages to be created/resolved

Description

The segments of the following stack trace show that several poller threads are locked, waiting to append an event to a linked list, while another thread, which has a lock on the linked list in processing the outages.

Ideally, the poller threads should not need to block and wait for this lock.

Acceptance / Success Criteria

None

Attachments

2

Lucidchart Diagrams

Activity

Show:

David Hustace October 28, 2016 at 6:34 AM

If that is the case, then I think we should come up with a patching process that isn't based on RPM/DEB releases yet is compatible with them.

Alejandro Galue October 27, 2016 at 10:02 AM

if the next release of opennms with the fix takes too much time, having a patched JAR is the best way to keep users happy with the product. They might be on their own, but it is better to have a workaround now, than waiting an unknown amount of time for the solution. My $0.02

David Hustace October 27, 2016 at 9:26 AM

Patching in OpenNMS comes in the form of RPMs. If you add custom JARs, you're on your own!

Michael Batz July 6, 2016 at 10:50 AM

Maybe somebody needs this as patch for an existing setup. So I attached two jar-Files.

Seth Leger June 16, 2016 at 2:09 AM

This issue has been addressed by using a ConcurrentLinkedQueue inside DefaultPollContext and also by using ConcurrentLinkedQueue inside the PendingPollEvent class so that it is thread-safe without using synchronized blocks. Marking as fixed.

commit 6d209c31d4621f92cc3bf1e463e96eb0cf8e3741

Fixed

Details

Assignee

Reporter

Labels

Components

Affects versions

Priority

PagerDuty

Created April 27, 2016 at 9:26 AM
Updated October 28, 2016 at 6:34 AM
Resolved June 16, 2016 at 2:09 AM