Browse Source

Exponentially backoff when bootstrapping fails, to reduce bandwidth

The retry interval starts at 5 minutes and doubles with each failure.
v2.0-beta
CalDescent 3 years ago
parent
commit
71f802ef35
  1. 7
      src/main/java/org/qortal/repository/Bootstrap.java

7
src/main/java/org/qortal/repository/Bootstrap.java

@ -32,6 +32,8 @@ public class Bootstrap {
private Repository repository;
private int retryMinutes = 5;
private static final Logger LOGGER = LogManager.getLogger(Bootstrap.class);
/** The maximum number of untrimmed blocks allowed to be included in a bootstrap, beyond the trim threshold */
@ -312,8 +314,9 @@ public class Bootstrap {
} catch (DataException e) {
LOGGER.info("Bootstrap import failed: {}", e.getMessage());
this.updateStatus("Bootstrapping failed. Retrying in 5 minutes");
Thread.sleep(5 * 60 * 1000L);
this.updateStatus(String.format("Bootstrapping failed. Retrying in %d minutes...", retryMinutes));
Thread.sleep(retryMinutes * 60 * 1000L);
retryMinutes *= 2;
}
}
}

Loading…
Cancel
Save