Skip to content

Commit d978952

Browse files
committed
cleanup
1 parent bedf680 commit d978952

1 file changed

Lines changed: 18 additions & 17 deletions

File tree

src/main/java/edu/harvard/iq/dataverse/util/bagit/BagGenerator.java

Lines changed: 18 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1021,6 +1021,10 @@ private HttpGet createNewGetRequest(URI url, String returnType) {
10211021
return request;
10221022
}
10231023

1024+
/** Get a stream supplier for the given URI.
1025+
*
1026+
* Caller must close the stream when done.
1027+
*/
10241028
InputStreamSupplier getInputStreamSupplier(final String uriString) {
10251029
return new InputStreamSupplier() {
10261030
public InputStream get() {
@@ -1030,13 +1034,12 @@ public InputStream get() {
10301034
while (tries < 5) {
10311035
logger.fine("Get # " + tries + " for " + uriString);
10321036
HttpGet getFile = createNewGetRequest(uri, null);
1033-
logger.finest("Retrieving " + tries + ": " + uriString);
1034-
1037+
10351038
try {
10361039
// Execute the request directly and keep the response open
1037-
final CloseableHttpResponse response = (CloseableHttpResponse) client.executeOpen(null, getFile,HttpClientContext.create());
1040+
final CloseableHttpResponse response = (CloseableHttpResponse) client.executeOpen(null, getFile, HttpClientContext.create());
10381041
int statusCode = response.getCode();
1039-
1042+
10401043
if (statusCode == 200) {
10411044
logger.finest("Retrieved: " + uri);
10421045
// Return a wrapped stream that will close the response when the stream is closed
@@ -1060,9 +1063,8 @@ public void close() throws IOException {
10601063
}
10611064
} else {
10621065
// Close the response for non-200 responses
1063-
EntityUtils.consume(response.getEntity());
10641066
response.close();
1065-
1067+
10661068
logger.warning("Attempt: " + tries + " - Unexpected Status when retrieving " + uriString
10671069
+ " : " + statusCode);
10681070

@@ -1072,16 +1074,16 @@ public void close() throws IOException {
10721074
} else {
10731075
tries++;
10741076
try {
1075-
// Calculate exponential backoff: 2^tries * baseWaitTimeMs
1076-
long waitTime = (long) (Math.pow(2, tries) * 1000); // Using 1 second as base wait time
1077-
1077+
// Calculate exponential backoff: 2^tries * baseWaitTimeMs (1 sec)
1078+
long waitTime = (long) (Math.pow(2, tries) * baseWaitTimeMs);
1079+
10781080
// Add jitter: random value between 0-30% of the wait time
10791081
long jitter = (long) (waitTime * 0.3 * Math.random());
10801082
waitTime = waitTime + jitter;
1081-
1082-
// Cap the wait time at 30 seconds
1083-
waitTime = Math.min(waitTime, 30000);
1084-
1083+
1084+
// Cap the wait time at maxWaitTimeMs (30 seconds)
1085+
waitTime = Math.min(waitTime, maxWaitTimeMs);
1086+
10851087
logger.fine("Sleeping for " + waitTime + "ms before retry attempt " + tries);
10861088
Thread.sleep(waitTime);
10871089
} catch (InterruptedException ie) {
@@ -1098,15 +1100,14 @@ public void close() throws IOException {
10981100
tries++;
10991101
logger.log(Level.WARNING, "Attempt# " + tries + " : Unable to retrieve file: " + uriString, e);
11001102
if (tries == 5) {
1101-
logger.severe("Final attempt failed for " + uriString);
1103+
logger.log(Level.SEVERE, "Final attempt failed for " + uriString, e);
11021104
}
1103-
e.printStackTrace();
11041105
}
11051106
}
11061107
} catch (URISyntaxException e) {
1107-
e.printStackTrace();
1108+
logger.severe("URISyntaxException for: " + uriString);
11081109
}
1109-
1110+
11101111
logger.severe("Could not read: " + uriString);
11111112
return null;
11121113
}

0 commit comments

Comments
 (0)