in bulkimport/src/main/java/com/microsoft/azure/documentdb/bulkimport/DocumentBulkImporter.java [279:301]
private void safeInit() throws Exception {
int count = 0;
long startTime = System.currentTimeMillis();
while(true) {
try {
initialize();
break;
} catch (Exception e) {
count++;
DocumentClientException dce = ExceptionUtils.getThrottelingException(e);
long now = System.currentTimeMillis();
if (count < retryOptions.getMaxRetryAttemptsOnThrottledRequests()
&& now - startTime < (retryOptions.getMaxRetryWaitTimeInSeconds() * 1000)
&& dce != null
&& dce.getStatusCode() == HttpConstants.StatusCodes.TOO_MANY_REQUESTS ) {
Thread.sleep(count * dce.getRetryAfterInMilliseconds() + INITIALIZATION_SLEEP_TIME_ON_THROTTLING);
continue;
} else {
throw e;
}
}
}
}