Empty provider details in gerrit missed events

This issue is archived. You can view it, but you can't modify it. Learn more

XMLWordPrintable

    • Type: Bug
    • Resolution: Unresolved
    • Priority: Minor
    • Component/s: gerrit-trigger-plugin
    • Environment:
      Jenkins: 2.254
      Gerrit Trigger plugin: 2.30.5

      Operating System: CentOS 7.5 64bit
      Java: 1.8.0
      OpenJDK: 1.8.0.171-8.b10
      Running Jenkins via tomcat

      2 Gerrit instances gerrit01 and gerrit02 connected to Jenkins.

      Raising this issue currently observed once, but have not checked if this happens all the time.

      Issue description

      Following a manual reboot of Jenkins, a couple of events (patchset-created events) were re-triggered.
      However, these events were re-triggered with empty strings for the following parameters:

      • GERRIT_HOST
      • GERRIT_PORT
      • GERRIT_SCHEME
      • GERRIT_VERSION

      All other parameters were correctly set (GERRIT_NAME, etc...).

      The trace

      The trace looks as follow

      ...
      2020-12-08 00:22:22.021+0000 [id=1773693]	INFO	jenkins.model.Jenkins#cleanUp: Jenkins stopped
      ...
      2020-12-08 00:22:52.554+0000 [id=33]	INFO	jenkins.InitReactorRunner$1#onAttained: Completed initialization
      ...
      2020-12-08 00:22:52.752+0000 [id=146]	INFO	c.s.t.g.g.GerritConnection#run: Starting Up gerrit01
      2020-12-08 00:22:52.765+0000 [id=20]	INFO	hudson.WebAppMain$3#run: Jenkins is fully up and running
      2020-12-08 00:22:52.770+0000 [id=147]	INFO	c.s.t.g.g.GerritConnection#run: Starting Up gerrit02
      2020-12-08 00:22:53.144+0000 [id=147]	INFO	c.s.h.p.g.t.p.GerritMissedEventsPlaybackManager#connectionEstablished: (0) missed events to process for server: gerrit02 ...
      2020-12-08 00:22:53.148+0000 [id=147]	INFO	c.s.h.p.g.t.p.GerritMissedEventsPlaybackManager#connectionEstablished: Processing completed for server: gerrit02
      2020-12-08 00:22:53.148+0000 [id=147]	INFO	c.s.t.g.g.GerritConnection#run: Ready to receive data from Gerrit: gerrit02
      2020-12-08 00:22:53.179+0000 [id=146]	INFO	c.s.h.p.g.t.p.GerritMissedEventsPlaybackManager#connectionEstablished: (11) missed events to process for server: gerrit01 ...
      2020-12-08 00:22:53.179+0000 [id=146]	INFO	c.s.h.p.g.t.p.GerritMissedEventsPlaybackManager#connectionEstablished: (gerrit01) Triggering: com.sonymobile.tools.gerrit.gerritevents.dto.events.RefUpdated@191868ea
      2020-12-08 00:22:53.183+0000 [id=146]	INFO	c.s.h.p.g.t.p.GerritMissedEventsPlaybackManager#connectionEstablished: (gerrit01) Triggering: com.sonymobile.tools.gerrit.gerritevents.dto.events.RefUpdated@d621c6c3
      2020-12-08 00:22:53.186+0000 [id=146]	INFO	c.s.h.p.g.t.p.GerritMissedEventsPlaybackManager#connectionEstablished: (gerrit01) Triggering: PatchsetCreated: Change-Id for #14271: Iaf12dab39d8ab5d3b87be2eef5691d1bb661d2f4 PatchSet: 1
      2020-12-08 00:22:53.193+0000 [id=146]	INFO	c.s.h.p.g.t.p.GerritMissedEventsPlaybackManager#connectionEstablished: (gerrit01) Triggering: com.sonymobile.tools.gerrit.gerritevents.dto.events.RefUpdated@cf7d8847
      2020-12-08 00:22:53.193+0000 [id=146]	INFO	c.s.h.p.g.t.p.GerritMissedEventsPlaybackManager#connectionEstablished: (gerrit01) Triggering: com.sonymobile.tools.gerrit.gerritevents.dto.events.RefUpdated@72f029dd
      2020-12-08 00:22:53.193+0000 [id=146]	INFO	c.s.h.p.g.t.p.GerritMissedEventsPlaybackManager#connectionEstablished: (gerrit01) Triggering: com.sonymobile.tools.gerrit.gerritevents.dto.events.RefUpdated@db71d78c
      2020-12-08 00:22:53.193+0000 [id=146]	INFO	c.s.h.p.g.t.p.GerritMissedEventsPlaybackManager#connectionEstablished: (gerrit01) Triggering: PatchsetCreated: Change-Id for #14270: Iade231ca8648e7eba44ecfcc6c8fd3fe356d8df6 PatchSet: 3
      2020-12-08 00:22:53.193+0000 [id=146]	INFO	c.s.h.p.g.t.p.GerritMissedEventsPlaybackManager#connectionEstablished: (gerrit01) Triggering: com.sonymobile.tools.gerrit.gerritevents.dto.events.RefUpdated@b47e4ec9
      2020-12-08 00:22:53.193+0000 [id=146]	INFO	c.s.h.p.g.t.p.GerritMissedEventsPlaybackManager#connectionEstablished: (gerrit01) Triggering: com.sonymobile.tools.gerrit.gerritevents.dto.events.RefUpdated@87dc62d9
      2020-12-08 00:22:53.194+0000 [id=146]	INFO	c.s.h.p.g.t.p.GerritMissedEventsPlaybackManager#connectionEstablished: (gerrit01) Triggering: com.sonymobile.tools.gerrit.gerritevents.dto.events.RefUpdated@7cc9cf0c
      2020-12-08 00:22:53.194+0000 [id=146]	INFO	c.s.h.p.g.t.p.GerritMissedEventsPlaybackManager#connectionEstablished: Processing completed for server: gerrit01
      2020-12-08 00:22:53.194+0000 [id=146]	INFO	c.s.t.g.g.GerritConnection#run: Ready to receive data from Gerrit: gerrit01
      2020-12-08 00:22:53.253+0000 [id=151]	INFO	c.s.h.p.g.t.g.ToGerritRunListener#onTriggered: Project [XXXX] triggered by Gerrit: [PatchsetCreated: Change-Id for #14270: Iade231ca8648e7eba44ecfcc6c8fd3fe356d8df6 PatchSet: 3]
      2020-12-08 00:22:53.272+0000 [id=36]	INFO	c.s.h.p.g.t.g.ToGerritRunListener#onTriggered: Project [YYYY] triggered by Gerrit: [PatchsetCreated: Change-Id for #14271: Iaf12dab39d8ab5d3b87be2eef5691d1bb661d2f4 PatchSet: 1]
      2020-12-08 00:22:53.316+0000 [id=151]	INFO	c.s.h.p.g.t.h.EventListener#schedule: Project XXXX Build Scheduled: true By event: 14270/3
      2020-12-08 00:22:53.321+0000 [id=36]	INFO	c.s.h.p.g.t.h.EventListener#schedule: Project YYYY Build Scheduled: true By event: 14271/1
      ...
      

      Maybe an explanation

      I am not a java developer so please disregard the following if not relevant.
      Looking at the code, it might be that the following two actions need to be inverted to notify the listeners only when we have actually filled the provider details.

      File: src/main/java/com/sonymobile/tools/gerrit/gerritevents/GerritConnection.java
      
                      notifyConnectionEstablished();
                      Provider provider = new Provider(
                              gerritName,
                              gerritHostName,
                              String.valueOf(gerritSshPort),
                              GERRIT_PROTOCOL_SCHEME_NAME,
                              gerritFrontEndUrl,
                              getGerritVersionString()); 
      

      Happy to prepare a patch and have a look at how to test it if you think that might be the reason.
      Thanks a lot for your help.
      Kind regards,
      David

            Assignee:
            rsandell
            Reporter:
            David
            Archiver:
            Jenkins Service Account

              Created:
              Updated:
              Archived: