Hello... I ran into an error/bug using amanda with S3. It had been working great for a while and then started erroring out last week.
Tue Aug 16 05:01:32 2011: taper: PUT https://s3.amazonaws.com/mybucket failed with 400/TooManyBuckets Tue Aug 16 05:01:32 2011: taper: Device s3:mybucket/slot-10/ error = 'While creating new S3 bucket: You have attempted to create more buckets than allowed (TooManyBuckets) (HTTP 400)' Tue Aug 16 05:01:32 2011: taper: Device s3:mybucket/slot-10/ setting status flag(s): DEVICE_STATUS_DEVICE_ERROR Tue Aug 16 05:01:32 2011: taper: error (fatal): file device.c: line 1097 (device_read_label): assertion failed: (self->access_mode == ACCESS_NULL) I upgraded from 3.2.3 to 3.3.0 hoping for more insight and newer code. The error messages are much better. But the error still happens, but the reason shows up in the email! in device-src/s3-device.c : /* try creating the bucket, in case it doesn't exist */ if (mode != ACCESS_READ && !s3_make_bucket(self->s3t[0].s3, self->bucket)) { guint response_code; I think this is a logic error. In my case the bucket already exists and we are at our bucket limit so the create bucket code returns an error and nothing is ever written to S3. I think the more correct logic is to test is the bucket exists and only try to create it if it does not exist. Unfortunately, my C codeing skills are not up to submitting a patch. And a big thanks to the s3 code writer, this is an awesome feature. -- Christopher McCrory To the optimist, the glass is half full. To the pessimist, the glass is half empty. To the engineer, the glass is twice as big as it needs to be.
