skip identical doesn't work with version id
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
python-swiftclient |
In Progress
|
Undecided
|
Unassigned |
Bug Description
vagrant@saio:~$ swift stat test test.big | grep ETag
vagrant@saio:~$ swift stat test test.big --version-id 1714404624.45423 | grep ETag
vagrant@saio:~$ swift download test test.big -o delete.me
test.big [auth 0.006s, headers 0.076s, total 0.150s, 23.675 MB/s]
vagrant@saio:~$ swift download test test.big -o delete.me --skip-identical
Skipped identical file 'test.big'
vagrant@saio:~$ swift download test test.big -o delete.me --skip-identical --version-id 1714404624.45423
Skipped identical file 'test.big'
What seems to be going on is if-none-match request always sends the qs ?multipart-
https:/
this means the "is identical" comparison always happens against the local file-name whatever that is and the "current" version stored in the bucket.
FWIW --skip-identical is mostly only used when downloading whole containers/prefixes and --version-id explicitly is only allowed for use with a single object - so I'm not sure how often people run into this use-case in practice. I only noticed it while reviewing something else [1]
1. 902020: support part-num in python swiftClient | https:/
Fix proposed to branch: master /review. opendev. org/c/openstack /python- swiftclient/ +/920776
Review: https:/