Search code examples
amazon-s3amazon-ec2dockeraws-cliamazon-glacier

Unable to retrieve restored archive from AWS S3 'Invalid size value: 1g'


I have a 430G object that I archived to Glacier from S3 using lifecyle policies a few months ago. I'm following Archiving Amazon S3 Data to Amazon Glacier blog, and Transitioning to the GLACIER storage class (Object Archival)

Your restored object will remain in both Glacier and S3’s Reduced Redundancy Storage (RRS) for the duration of the retention period..... Although the objects are archived in Glacier, you can’t get to them via the Glacier APIs....Because Amazon S3 maintains the mapping between your user-defined object name and the Amazon Glacier system-defined identifier, Amazon S3 objects that are stored using the Amazon Glacier option are only accessible through the Amazon S3 API

I restored the object to S3 through the console (took about 5 hours) It says that it's available, but when I try to use the awscli to download the object I keep getting the error 'Invalid size value: 1g'

I'm trying to use the aws s3 cp command (works fine for other objects) to download to an EC2 instance. This instance has a role associated that is allowed to read/write to that S3 bucket/folder. I also checked that the ubuntu user has write permissions to where I'm trying to download the object.

aws --version

aws-cli/1.10.17 Python/2.7.10 Linux/4.2.0-30-generic botocore/1.4.8

aws s3 cp s3://cab-arch/Backups/160211_Archive.tar 160211_Archive.tar

Any help would be appreciated, I can't find any info about this particular error.


Solution

  • It turns out that this was actually caused by a docker bug. The filesystem I was trying to download to had previously been mounted by a docker container. Though docker ps did not show any running containers, an fd command showed that the container still had multiple "open" files on that filesystem. I killed docker and all was well again. Info on this docker bug