in ddm-rrm-scheduled-jobs/src/main/java/com/epam/digital/data/platform/management/scheduled/RepositoryRefreshScheduler.java [45:75]
public void refreshVersionCandidates() {
log.debug("Refreshing version-candidates' repositories started");
var mrList = gerritService.getMRList();
for (var changeInfo : mrList) {
try {
var change = gerritService.getMRByNumber(changeInfo.getNumber());
if (change.getMergeable()) {
continue;
}
var changeId = change.getChangeId();
var versionId = change.getNumber();
log.debug("Refreshing repository {}", change.getNumber());
gerritService.rebase(changeId);
jGitService.cloneRepoIfNotExist(versionId);
jGitService.fetch(versionId, change.getRefs());
Cache conflictCache = cacheManager.getCache(CONFLICTS_CACHE_NAME);
conflictCache.evictIfPresent(versionId);
conflictCache.put(versionId, jGitService.getConflicts(versionId));
Cache rebaseCache = cacheManager.getCache(LATEST_REBASE_CACHE_NAME);
rebaseCache.evictIfPresent(versionId);
rebaseCache.put(versionId, LocalDateTime.now());
} catch (Exception e) {
log.warn("Error during repository refresh: {}", e.getMessage(), e);
}
}
log.debug("Refreshing version-candidates' repositories finished");
}