-
Bug
-
Resolution: Fixed
-
Major
-
None
-
Jenkins 1.609.3
gerrit-trigger 2.16.0
Gerrit 2.11.3 w/ events-log v2.11.3-8-g318953f
OpenJDK Runtime Environment (IcedTea 2.5.6) (7u79-2.5.6-0ubuntu1.14.04.1)
Ubuntu 14.04.3 LTS
We installed the events-log and enabled the REST integration this morning. Almost immediately, jobs stopped firing on gerrit events. We noted high CPU usage on the Jenkins process, and looking at the javamelody monitoring we saw that 2 of the 3 GerritMissedEventsPlaybackManager receive threads were blocked. In our jenkins.log we saw entries similar to the following:
Oct 15, 2015 10:41:04 AM com.sonymobile.tools.gerrit.gerritevents.GerritHandler notifyListeners
SEVERE: When notifying listener: com.sonyericsson.hudson.plugins.gerrit.trigger.playback.GerritMissedEventsPlaybackManager@7a9a6d56 about event: ManualPatchsetCreated Change: Change-Id for #36488: Ia70accbcf0ef07628b6ea861af546235adc2c1fb PatchSet: PatchSet: 1
Oct 15, 2015 10:41:04 AM com.sonymobile.tools.gerrit.gerritevents.GerritHandler notifyListeners
SEVERE: Notify-error:
java.lang.NullPointerException
at com.sonyericsson.hudson.plugins.gerrit.trigger.playback.GerritMissedEventsPlaybackManager.persist(GerritMissedEventsPlaybackManager.java:411)
at com.sonyericsson.hudson.plugins.gerrit.trigger.playback.GerritMissedEventsPlaybackManager.gerritEvent(GerritMissedEventsPlaybackManager.java:256)
at com.sonymobile.tools.gerrit.gerritevents.GerritHandler.notifyListener(GerritHandler.java:317)
at com.sonymobile.tools.gerrit.gerritevents.GerritHandler.notifyListeners(GerritHandler.java:285)
at com.sonyericsson.hudson.plugins.gerrit.trigger.JenkinsAwareGerritHandler.notifyListeners(JenkinsAwareGerritHandler.java:77)
at com.sonymobile.tools.gerrit.gerritevents.workers.AbstractGerritEventWork.perform(AbstractGerritEventWork.java:46)
at com.sonymobile.tools.gerrit.gerritevents.workers.GerritEventWork.perform(GerritEventWork.java:48)
at com.sonymobile.tools.gerrit.gerritevents.workers.EventThread.run(EventThread.java:66)
at com.sonyericsson.hudson.plugins.gerrit.trigger.SystemEventThread.run(SystemEventThread.java:66)
Looking at persist(), it looks like the passed-in Gerrit event is null or missing GetEventCreatedOn(), but that doesn't make sense.
We've disabled REST for the time being, because this behavior effectively breaks our Jenkins deployment.