A part of our application initiates transfers from Amazon S3 to Google Cloud Storage via the storage transfer service API. We've had this up and running successfully for several months until yesterday when our transfers stopped working. We can see a transfer was initiated in the console, but it hangs indefinitely with a single history item stating: "This transfer is starting..." We have a background process polling the transfer status which we see returning a status of "transfer_calculating"
In trying to debug this issue, we setup a transfer via the storage console. We used the same AWS access key id/secret access key used by our application, and the transfer completed successfully. This leads us to believe the issue is isolated to the transfer service API or our code that initiates the API call.
Transfer Job Code:
TransferJob tjob = new TransferJob()
.setDescription(description)
.setStatus('ENABLED')
.setProjectId(transferGoogleProject)
.setTransferSpec(
new TransferSpec()
.setGcsDataSink(new GcsData().setBucketName(googleStorageBucket))
.setAwsS3DataSource(
new AwsS3Data()
.setBucketName(s3Bucket)
.setAwsAccessKey(new AwsAccessKey().setAccessKeyId(transferAwsKey).setSecretAccessKey(transferAwsSecret)))
.setObjectConditions(new ObjectConditions().setIncludePrefixes(s3Keys))
.setTransferOptions(
new TransferOptions()
.setDeleteObjectsFromSourceAfterTransfer(false)
.setOverwriteObjectsAlreadyExistingInSink(true)
.setDeleteObjectsUniqueInSink(false)))
.setSchedule(
new Schedule()
.setScheduleStartDate(date)
.setScheduleEndDate(date)
.setStartTimeOfDay(time))
tjob = storagetransfer.transferJobs().create(tjob).execute()
Library configuration:
<dependency>
<groupId>com.google.api-client</groupId>
<artifactId>google-api-client</artifactId>
<version>1.19.1</version>
</dependency>
<dependency>
<groupId>com.google.apis</groupId>
<artifactId>google-api-services-bigquery</artifactId>
<version>v2-rev191-1.19.1</version>
</dependency>
<dependency>
<groupId>com.google.apis</groupId>
<artifactId>google-api-services-storage</artifactId>
<version>v1-rev26-1.19.1</version>
</dependency>
<dependency>
<groupId>com.google.apis</groupId>
<artifactId>google-api-services-storagetransfer</artifactId>
<version>v1-rev3-1.19.1</version>
</dependency>
<dependency>
<groupId>com.google.oauth-client</groupId>
<artifactId>google-oauth-client</artifactId>
<version>1.19.0</version>
</dependency>
<dependency>
<groupId>com.google.http-client</groupId>
<artifactId>google-http-client</artifactId>
<version>1.19.0</version>
</dependency>
<dependency>
<groupId>com.google.http-client</groupId>
<artifactId>google-http-client-jackson2</artifactId>
<version>1.19.0</version>
</dependency>
We've bumped the versions up 1.21.0 in our development environment but the transfers still get stuck at "This transfer is starting..."
At this point we're stuck, anyone else running into this issue?