Skip to content

Commit 0c799e6

Browse files
committed
First pass at making download job output public. Ended up moving the request to
get the archiveSize into downloadJobOutputInMultipleChunks() after the job completed, just to simplify the method. Not fully tested yet
1 parent a401dbf commit 0c799e6

File tree

1 file changed

+7
-6
lines changed

1 file changed

+7
-6
lines changed

src/main/java/com/amazonaws/services/glacier/transfer/ArchiveTransferManager.java

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -324,7 +324,6 @@ public void download(final String accountId, final String vaultName, final Strin
324324

325325
JobStatusMonitor jobStatusMonitor = null;
326326
String jobId = null;
327-
long archiveSize = 0;
328327

329328
try {
330329
if (credentialsProvider != null && clientConfiguration != null) {
@@ -344,9 +343,6 @@ public void download(final String accountId, final String vaultName, final Strin
344343
.withJobParameters(jobParameters));
345344
jobId = archiveRetrievalResult.getJobId();
346345

347-
DescribeJobResult describeJobResult = glacier.describeJob(new DescribeJobRequest(accountId, vaultName, jobId));
348-
archiveSize = describeJobResult.getArchiveSizeInBytes();
349-
350346
jobStatusMonitor.waitForJobToComplete(jobId);
351347

352348
} finally {
@@ -355,18 +351,23 @@ public void download(final String accountId, final String vaultName, final Strin
355351
}
356352
}
357353

358-
downloadJobOutputInMultipleChunks(accountId, vaultName, jobId, archiveSize, file);
354+
downloadJobOutputInMultipleChunks(accountId, vaultName, jobId, file);
359355
}
360356

361-
private void downloadJobOutputInMultipleChunks(String accountId, String vaultName, String jobId, long archiveSize, File file) {
357+
public void downloadJobOutputInMultipleChunks(String accountId, String vaultName, String jobId, File file) {
362358

359+
long archiveSize = 0;
363360
long chunkSize = DEFAULT_DOWNLOAD_CHUNK_SIZE;
364361
long currentPosition = 0;
365362
long endPosition = 0;
363+
366364
RandomAccessFile output = null;
367365
String customizedChunkSize = null;
368366
customizedChunkSize = System.getProperty("com.amazonaws.services.glacier.transfer.downloadChunkSizeInMB");
369367

368+
DescribeJobResult describeJobResult = glacier.describeJob(new DescribeJobRequest(accountId, vaultName, jobId));
369+
archiveSize = describeJobResult.getArchiveSizeInBytes();
370+
370371
if (customizedChunkSize != null) {
371372
try {
372373
chunkSize = Long.parseLong(customizedChunkSize) * 1024 * 1024;

0 commit comments

Comments
 (0)