-
Bug
-
Resolution: Fixed
-
Medium (View bug fix roadmap)
-
7.2.3, 7.2.6, 7.2.7, 7.2.8, 7.6.0, 7.7.0
-
7.02
-
86
-
Severity 2 - Major
-
36
-
Summary
If the parent repository of forked repository was deleted and thus the forked repository was marked as disabled in GitHub, it is still returned in the list of repositories but fetching the detailed information (to find out the fork repository information) causes 404 NOT FOUND error. This also occurs if the repository was marked as deleted in Github but never removed from the sync list in DVCS.
You'll see the following stack trace in the logs:
2016-10-05 18:22:57,501 Caesium-1-2 DEBUG ServiceRunner [c.a.j.p.dvcs.service.RepositoryServiceImpl] Synchronizing list of repositories 2016-10-05 18:22:57,511 Caesium-1-2 DEBUG ServiceRunner [c.a.j.p.d.d.impl.transform.RepositoryTransformer] Repository transformation: [AO_E8B6CC_REPOSITORY_MAPPING \{ID = 15}] 2016-10-05 18:22:57,535 Caesium-1-2 ERROR ServiceRunner [c.a.scheduler.core.JobLauncher] Scheduled job with ID 'com.atlassian.jira.plugins.dvcs.scheduler.DvcsScheduler:job' failed com.atlassian.jira.plugins.dvcs.exception.SourceControlException: Error retrieving list of repositories at com.atlassian.jira.plugins.dvcs.spi.github.GithubCommunicator.getRepositories(GithubCommunicator.java:252) at com.atlassian.jira.plugins.dvcs.service.remote.CachingCommunicator.getRepositories(CachingCommunicator.java:232) at com.atlassian.jira.plugins.dvcs.service.RepositoryServiceImpl.syncRepositoryList(RepositoryServiceImpl.java:219) at com.atlassian.jira.plugins.dvcs.service.RepositoryServiceImpl.syncRepositoryList(RepositoryServiceImpl.java:264) at com.atlassian.jira.plugins.dvcs.scheduler.DvcsSchedulerJobRunner.syncOrganizations(DvcsSchedulerJobRunner.java:67) at com.atlassian.jira.plugins.dvcs.scheduler.DvcsSchedulerJobRunner.runJob(DvcsSchedulerJobRunner.java:55) at com.atlassian.scheduler.core.JobLauncher.runJob(JobLauncher.java:153) at com.atlassian.scheduler.core.JobLauncher.launchAndBuildResponse(JobLauncher.java:118) at com.atlassian.scheduler.core.JobLauncher.launch(JobLauncher.java:97) at com.atlassian.scheduler.caesium.impl.CaesiumSchedulerService.launchJob(CaesiumSchedulerService.java:401) at com.atlassian.scheduler.caesium.impl.CaesiumSchedulerService.executeClusteredJob(CaesiumSchedulerService.java:396) at com.atlassian.scheduler.caesium.impl.CaesiumSchedulerService.executeQueuedJob(CaesiumSchedulerService.java:349) at com.atlassian.scheduler.caesium.impl.CaesiumSchedulerService$1.consume(CaesiumSchedulerService.java:255) at com.atlassian.scheduler.caesium.impl.CaesiumSchedulerService$1.consume(CaesiumSchedulerService.java:252) at com.atlassian.scheduler.caesium.impl.SchedulerQueueWorker.executeJob(SchedulerQueueWorker.java:65) at com.atlassian.scheduler.caesium.impl.SchedulerQueueWorker.executeNextJob(SchedulerQueueWorker.java:59) at com.atlassian.scheduler.caesium.impl.SchedulerQueueWorker.run(SchedulerQueueWorker.java:34) at java.lang.Thread.run(Thread.java:745) Caused by: org.eclipse.egit.github.core.client.RequestException: Not Found (404) at org.eclipse.egit.github.core.client.GitHubClient.createException(GitHubClient.java:552) at org.eclipse.egit.github.core.client.GitHubClient.get(GitHubClient.java:740) at org.eclipse.egit.github.core.client.PageIterator.next(PageIterator.java:173) at org.eclipse.egit.github.core.service.GitHubService.getAll(GitHubService.java:151) at org.eclipse.egit.github.core.service.RepositoryService.getRepositories(RepositoryService.java:242) ... 17 more
and this causes the scheduler for DVCS to break so any subsequent syncs of any repos fail
Steps to Diagnose
- Ensure debug logging is enabled for the following package com.atlassian.jira.plugins.dvcs
- Delete the OAuth keys and recreate them using an owner
- Mark the logs
- Note the start time
- Re-add the repository with a user that owns/admins the repository
- Attempt to add a new repository
- Grab both Github Enterprise / JIRA Server Logs
- Compare 404s from web-logs/github.log to DVCS Error thrown in logs to find offending repo
Environment
- DVCS 4.0.11
Workaround
Delete forked repository on GitHub, the parent repository doesn't exist anymore, there is no use of such repository, even GitHub treats the repository as disabled. If the repository has already been removed, ensure that DVCS does not make any calls to deleted repository.
- relates to
-
JSWSERVER-16340 DVCS: sync is broken for Github Enterprise when an organization is deleted
-
- Closed
-
-
FUSE-2995 Failed to load
-
PSR-353 You do not have permission to view this issue
- clones
-
BBC-807 Failed to load
- Mentioned in
- mentioned in
-
Page Loading...
-
Page Loading...
-
Page Loading...
-
Page Loading...
-
Page Loading...
-
Page Loading...
-
Page Loading...
-
Page Loading...
-
Page Loading...
-
Page Loading...
-
Page Loading...
-
Page Loading...
Form Name |
---|
Can we fix this now? Twitch will thank you.