You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@sling.apache.org by "Marc Pfaff (JIRA)" <ji...@apache.org> on 2013/10/31 17:03:23 UTC

[jira] [Created] (SLING-3220) TimedEventSender put into a busy endless loop, after topology changes

Marc Pfaff created SLING-3220:
---------------------------------

             Summary: TimedEventSender put into a busy endless loop, after topology changes
                 Key: SLING-3220
                 URL: https://issues.apache.org/jira/browse/SLING-3220
             Project: Sling
          Issue Type: Bug
          Components: Extensions
    Affects Versions: Event 3.3.0
            Reporter: Marc Pfaff


There seem's to be an issue in the TimedEventSender that puts the related background thread into a busy endless loop. This has two effects:
* Heavy CPU usage
* Timed Jobs are never finished, if in the busy loop

That's what I found out when debugging so far:
* TimedEventSender starts a background thread that takes events from a blocking queue
* If the event's topic is org/apache/sling/event/impl/jobs/STOPPED, the event is never processed and there is no new event taken from the queue, thus it's not properly waiting, but instead falls into the endless loop, as the event instance is never set to null
* Events with the 'stop topic' are sent upon topology change event, handled by TimedEventSender itself, thus this only happens as soon as a new instance is joining the topology. 

In order to reproduce:
* one must have a second instance joining the same topology

I will try to come up with a patch. 




--
This message was sent by Atlassian JIRA
(v6.1#6144)