You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
When restoring from one bucket to another, the script terminates when there is no "Versions" key found in the returned page response, therefore not all objects are parsed. See here:
for page in page_iterator:
if not "Versions" in page:
print("No versions matching criteria, exiting ...", file=sys.stderr)
sys.exit(1)
Findings
It appears that system-defined metadata prefixed with META/ don't have Versions key, therefore after first occurrence of a metadata object the script terminates.
Generate a warning that metadata object is not versioned and therefore it will be skipped.
Implement an additional option that will help to filter some prefixes (e.g. META/)
Other ideas
Execution Details
s3-pit-restore version: The one created with python3 setup.py install How I run it:s3-pit-restore --dry-run --verbose -b <source_bucket> B <destination_bucket> -t "02-20-2021 14:15:00 +1"
The text was updated successfully, but these errors were encountered:
I don't know about META but the same thing happens when you enable versioning on a bucket after you put some objects in. Until you write to those objects again, there will not be a Versions key in the response for those objects.
My solution was to delete everything in the bucket and store all objects again, but I think if this was to be supported by s3-pit-restore the proper fix would be to do get_object_attributes on the objects that do not have a Versions key.
Hello,
Description
When restoring from one bucket to another, the script terminates when there is no "Versions" key found in the returned page response, therefore not all objects are parsed. See here:
Findings
It appears that system-defined metadata prefixed with
META/
don't haveVersions
key, therefore after first occurrence of a metadata object the script terminates.Debugging logs:
Expectations
Generate a warning that metadata object is not versioned and therefore it will be skipped.
Implement an additional option that will help to filter some prefixes (e.g. META/)
Other ideas
Execution Details
s3-pit-restore version: The one created with
python3 setup.py install
How I run it:
s3-pit-restore --dry-run --verbose -b <source_bucket> B <destination_bucket> -t "02-20-2021 14:15:00 +1"
The text was updated successfully, but these errors were encountered: