Uploaded image for project: 'Jira Software Data Center'
  1. Jira Software Data Center
  2. JSWSERVER-21808

Github sends null repository object to DVCS plugin causing synchronisation fail

XMLWordPrintable

      Issue Summary

      Very rare case which root cause is unknown yet. 
      Every hour DVCS poll current repositories list assigned to linked organisation.
      DVCS uses GET /api/v3/organizations/{id}/repos?per_page={page_size}&page={page_number} url to get list of repositories.

      Very rare, but it happens that response JSON object contains null value.

       

      [{repoObject},
       ...
       {repoObject},
       null,
       {repoObject},
       ...
       {repoObject}
      ] 

      DVCS code is not prepared for handling such response.
      In effect synchronisation process fails.
      For specific organisations it might appear that 

       

      This is reproducible on Data Center: yes

      Steps to Reproduce

      It's unknown how to reproduce that issue. DVCS doesn't retrieve any metadata which might help understand root cause.

      Expected Results

      DVCS should handle such scenario and keep repositories updated with git.

      Actual Results

      We can spot that situation in logs with search:

       

      2023-07-04 22:05:03,172-0700 Caesium-1-3 INFO ServiceRunner     [c.a.j.p.dvcs.service.RepositorySyncServiceImpl] Fetching all remote repositories for organization [orgName] took 100s
      2023-07-04 22:05:03,172-0700 Caesium-1-3 ERROR ServiceRunner     [c.a.j.p.dvcs.service.RepositorySyncServiceImpl] Failed to synchronize list of repositories for organization [orgName]
      java.lang.NullPointerException
      	at com.atlassian.jira.plugins.dvcs.spi.github.GithubCommunicator.convertToLocalRepositories(GithubCommunicator.java:269) 

       

       

      Workaround

      Currently there is no known workaround for this behavior. A workaround will be added here when available

              1c017edd2c81 awojtasik
              1c017edd2c81 awojtasik
              Votes:
              1 Vote for this issue
              Watchers:
              5 Start watching this issue

                Created:
                Updated:
                Resolved: