1717import org .springframework .stereotype .Service ;
1818import org .web3j .crypto .ECKeyPair ;
1919
20+ import java .util .ArrayList ;
2021import java .util .Collections ;
2122import java .util .List ;
2223import java .util .Optional ;
@@ -107,19 +108,21 @@ public void registerWorker(WorkerConfigurationModel model) {
107108 }
108109
109110 public List <InterruptedReplicateModel > getInterruptedReplicates (long lastAvailableBlockNumber ) {
111+ List <InterruptedReplicateModel > interruptedReplicates = new ArrayList <>();
112+
110113 try {
111- return replicateClient .getInterruptedReplicates (lastAvailableBlockNumber , getToken ());
114+ interruptedReplicates = replicateClient .getInterruptedReplicates (lastAvailableBlockNumber , getToken ());
112115 } catch (FeignException e ) {
113- if (e .status () == 0 ) {
114- log .error ("Failed to getInterruptedReplicates, will retry [instance:{}]" , coreURL );
115- sleep ();
116- return getInterruptedReplicates (lastAvailableBlockNumber );
117- } else if (HttpStatus .valueOf (e .status ()).equals (HttpStatus .UNAUTHORIZED )) {
116+ if (e .status () == HttpStatus .UNAUTHORIZED .value ()) {
118117 generateNewToken ();
119- return getInterruptedReplicates (lastAvailableBlockNumber );
118+ interruptedReplicates = replicateClient .getInterruptedReplicates (lastAvailableBlockNumber , getToken ());
119+ } else {
120+ log .error ("Failed to get interrupted replicates [instance:{}]" , coreURL );
121+ e .printStackTrace ();
120122 }
121123 }
122- return null ;
124+
125+ return interruptedReplicates ;
123126 }
124127
125128 public List <String > getTasksInProgress () {
@@ -139,17 +142,21 @@ public List<String> getTasksInProgress() {
139142 }
140143
141144 public Optional <ContributionAuthorization > getAvailableReplicate (long lastAvailableBlockNumber ) {
145+ ContributionAuthorization contributionAuth = null ;
146+
142147 try {
143- return Optional . ofNullable ( replicateClient .getAvailableReplicate (lastAvailableBlockNumber , getToken () ));
148+ contributionAuth = replicateClient .getAvailableReplicate (lastAvailableBlockNumber , getToken ());
144149 } catch (FeignException e ) {
145- if (e .status () == 0 ) {
146- log .error ("Failed to getAvailableReplicate [instance:{}]" , coreURL );
147- } else if (HttpStatus .valueOf (e .status ()).equals (HttpStatus .UNAUTHORIZED )) {
150+ if (e .status () == HttpStatus .UNAUTHORIZED .value ()) {
148151 generateNewToken ();
149- return Optional .of (replicateClient .getAvailableReplicate (lastAvailableBlockNumber , getToken ()));
152+ contributionAuth = replicateClient .getAvailableReplicate (lastAvailableBlockNumber , getToken ());
153+ } else {
154+ log .error ("Failed to get an available replicate [instance:{}]" , coreURL );
155+ e .printStackTrace ();
150156 }
151157 }
152- return Optional .empty ();
158+
159+ return contributionAuth == null ? Optional .empty () : Optional .of (contributionAuth );
153160 }
154161
155162 public void updateReplicateStatus (String chainTaskId , ReplicateStatus status ) {
0 commit comments