AWS DataSync sometimes creates 0 sized S3 objects and doesn't report any error

0

I am using AWS Datasync to copy/backup data from bucket A (Singapore region) to bucket B (Ohio region). I had done this in steps via multiple sequential back-to-back executions of the DataSync task to make it more manageable for me to monitor. The DataSync task was configured with the option "Log basic information such as transfer errors".

One such task execution was run with a particular include filter - say "/folderA*". A few minutes into the execution I realized I wanted to make some changes and therefore cancelled the execution. The execution stopped without any transfer error message in the Cloudwatch log stream. I subsequently started the execution again with the same include filter and this task succeeded. There were no errors in the log stream for this task as well.

However, I can now see that some of the files in bucket A weren't transferred correctly. These files show up as 0-sized files in bucket B. Why did this happen? Why were no errors reported during either of the two task executions?

How can I rely on AWS Datasync to do the transfer reliably if such issues happen? Note that this was about a 40TB transfer and I found out the issue only because I ran my own sanity checks on the transferred data.

PS: Source data is in standard storage class. Destination location is standard storage class, but the destination bucket has a lifecycle rule that transitions incoming data to intelligent tiering immediately

asked a year ago458 views
1 Answer
0

Thanks for clarifying the source and destination storage classes. The subsequent task that ran to completion with the same filters would scan for differences on the source and destination and retransfer any objects that did not match. Objects that fail verification at the end of the task would show up in the CloudWatch logs even with Log basic information such as transfer errors selected.

After verifying the task settings, if the secondary task execution completed with a success result and did not successfully transfer all contents within the options filter please reach out to support to review the task execution.

AWS
answered a year ago
  • Yes, the second task completed with a success result and didn't report any errors.

    This was the timeline:

    Bucket B (dest) did not have file F --> Ran first task execution and cancelled it --> Reran execution again with same filter --> Bucket B had file F with 0-size

    There were no errors reported during the 2 executions (except that the first one was cancelled)

    Running the task execution again also doesn't copy the actual data for file F, which suggests that somehow the metadata for file F were copied but not its contents.

    While most files got copied correctly, about 100-200 didn't (out of multiple 10+k). Now I have to figure out the failed files and then delete them and resync them manually.

    How can I share the task execution details with the support team for them to have a look?

You are not logged in. Log in to post an answer.

A good answer clearly answers the question and provides constructive feedback and encourages professional growth in the question asker.

Guidelines for Answering Questions