@@ -94,8 +94,12 @@ private ExtendedStatus getMinorStatus(Component comp, CachedStatuses cache, IPro
9494 if (comp .getVersion ().isLocked ()) {
9595 ConcurrentHashMap <Component , ExtendedStatus > subComponentsLocal = new ConcurrentHashMap <>();
9696 Utils .async (rb .getMDeps (), (mdep ) -> {
97- ExtendedStatus exStatus = getAndCacheStatus (mdep , cache , progress , false );
98- subComponentsLocal .put (mdep , exStatus );
97+ try {
98+ recursiveGetAndCacheStatus (cache , progress , subComponentsLocal , mdep , false );
99+ } catch (Exception e ) {
100+ cache .remove (repo .getUrl ());
101+ throw e ;
102+ }
99103 });
100104
101105 for (Component mdep : rb .getMDeps ()) {
@@ -125,6 +129,12 @@ private ExtendedStatus getMinorStatus(Component comp, CachedStatuses cache, IPro
125129 return new ExtendedStatus (nextVersion , status , subComponents , comp , repo );
126130 }
127131
132+ void recursiveGetAndCacheStatus (CachedStatuses cache , IProgress progress ,
133+ ConcurrentHashMap <Component , ExtendedStatus > subComponentsLocal , Component mdep , Boolean isPatch ) throws RuntimeException {
134+ ExtendedStatus exStatus = getAndCacheStatus (mdep , cache , progress , isPatch );
135+ subComponentsLocal .put (mdep , exStatus );
136+ }
137+
128138 private ExtendedStatus getPatchStatus (Component comp , CachedStatuses cache , IProgress progress , VCSRepository repo , DelayedTag dt ) {
129139 ReleaseBranchPatch rb = reportDuration (() -> ReleaseBranchFactory .getReleaseBranchPatch (comp .getVersion (), repo ),
130140 "RB created" , comp , progress );
@@ -147,8 +157,12 @@ private ExtendedStatus getPatchStatus(Component comp, CachedStatuses cache, IPro
147157
148158 ConcurrentHashMap <Component , ExtendedStatus > subComponentsLocal = new ConcurrentHashMap <>();
149159 Utils .async (rb .getMDeps (), (mdep ) -> {
150- ExtendedStatus status = getAndCacheStatus (mdep , cache , progress , true );
151- subComponentsLocal .put (mdep , status );
160+ try {
161+ recursiveGetAndCacheStatus (cache , progress , subComponentsLocal , mdep , true );
162+ } catch (Exception e ) {
163+ cache .remove (repo .getUrl ());
164+ throw e ;
165+ }
152166 });
153167 for (Component mdep : rb .getMDeps ()) {
154168 subComponents .put (mdep , subComponentsLocal .get (mdep ));
@@ -246,7 +260,6 @@ private boolean areMDepsPatchesActualForPatch(Component rootComp, VCSRepository
246260 throw new EMinorUpgradeDowngrade (rootComp , mDep , nextVersion .toPreviousPatch ());
247261 }
248262
249-
250263 DelayedTagsFile mdf = new DelayedTagsFile ();
251264 Version verToActualizeOn ;
252265 if (mdf .getDelayedTagByUrl (url ) != null ) { // if delayed tag
@@ -289,8 +302,12 @@ private Boolean isNeedToFork(Component comp, ReleaseBranchCurrent rb, CachedStat
289302
290303 ConcurrentHashMap <Component , ExtendedStatus > subComponentsLocal = new ConcurrentHashMap <>();
291304 Utils .async (rb .getMDeps (), (mdep ) -> {
292- ExtendedStatus status = getAndCacheStatus (mdep , cache , progress , false );
293- subComponentsLocal .put (mdep , status );
305+ try {
306+ recursiveGetAndCacheStatus (cache , progress , subComponentsLocal , mdep , false );
307+ } catch (Exception e ) {
308+ cache .remove (repo .getUrl ());
309+ throw e ;
310+ }
294311 });
295312
296313 for (Component mdep : rb .getMDeps ()) {
0 commit comments