Red Hat Bugzilla – Bug 1601876
Add a note about large objects handled incorrectly on versioned swift containers to the Developer Guide
Last modified: 2018-10-30 15:23:45 EDT
Description of problem: After uploadng multiple versions of a large object (multiple segment sized objects) with swift, download of the object works only with the first version. If we delete that version, then theres only a 0 sized object . Version-Release number of selected component (if applicable): ceph version 12.2.5-32.el7cp How reproducible: Always Steps to Reproduce: 1. Upload multiple versions of a 50MB object with swift. ~]# swift -A http://10.70.39.9:8080/auth/1.0 -U test1:swift -K "f3umyrBGq37FRoqrqyVuGjG8sxSl1nrLYrbnxKsH" stat sw1 Account: v1 Container: sw1 Objects: 0 Bytes: 0 Read ACL: Write ACL: Sync To: Sync Key: X-Versions-Location: sw1temp <--------- version location Accept-Ranges: bytes X-Storage-Policy: default-placement X-Container-Bytes-Used-Actual: 0 X-Timestamp: 1531826016.26267 X-Trans-Id: tx000000000000000000007-005b4dd0a0-17a3-default Content-Type: text/plain; charset=utf-8 X-Openstack-Request-Id: tx000000000000000000007-005b4dd0a0-17a3-default ~]# swift -A http://10.70.39.9:8080/auth/1.0 -U test1:swift -K "f3umyrBGq37FRoqrqyVuGjG8sxSl1nrLYrbnxKsH" upload sw1 f1 ~]# swift -A http://10.70.39.9:8080/auth/1.0 -U test1:swift -K "f3umyrBGq37FRoqrqyVuGjG8sxSl1nrLYrbnxKsH" upload sw1 -S=10485760 f1 ~]# swift -A http://10.70.39.9:8080/auth/1.0 -U test1:swift -K "f3umyrBGq37FRoqrqyVuGjG8sxSl1nrLYrbnxKsH" upload sw1 -S=5242880 f1 ~]# swift -A http://10.70.39.9:8080/auth/1.0 -U test1:swift -K "f3umyrBGq37FRoqrqyVuGjG8sxSl1nrLYrbnxKsH" list sw1temp 002f1/1531826395.608892 002f1/1531826436.378304 ~]# swift -A http://10.70.39.9:8080/auth/1.0 -U test1:swift -K "f3umyrBGq37FRoqrqyVuGjG8sxSl1nrLYrbnxKsH" list sw1 f1 2. Download the object (with segment size 5MB) ~]# swift -A http://10.70.39.9:8080/auth/1.0 -U test1:swift -K "f3umyrBGq37FRoqrqyVuGjG8sxSl1nrLYrbnxKsH" download sw1 f1 f1 [auth 0.011s, headers 0.071s, total 0.632s, 84.325 MB/s] ~]# ~]# ll -h f1 -rw-r--r--. 1 root root 50M Jul 17 16:49 f1 3. Delete the object and try to download again. ~]# swift -A http://10.70.39.9:8080/auth/1.0 -U test1:swift -K "f3umyrBGq37FRoqrqyVuGjG8sxSl1nrLYrbnxKsH" delete sw1 f1 sw1_segments/f1/1531826380.232016/52428800/5242880/00000001 sw1_segments/f1/1531826380.232016/52428800/5242880/00000003 sw1_segments/f1/1531826380.232016/52428800/5242880/00000007 sw1_segments/f1/1531826380.232016/52428800/5242880/00000008 sw1_segments/f1/1531826380.232016/52428800/5242880/00000006 sw1_segments/f1/1531826380.232016/52428800/5242880/00000005 sw1_segments/f1/1531826380.232016/52428800/5242880/00000000 sw1_segments/f1/1531826380.232016/52428800/5242880/00000002 sw1_segments/f1/1531826380.232016/52428800/5242880/00000009 sw1_segments/f1/1531826380.232016/52428800/5242880/00000004 f1 ~]# swift -A http://10.70.39.9:8080/auth/1.0 -U test1:swift -K "f3umyrBGq37FRoqrqyVuGjG8sxSl1nrLYrbnxKsH" list sw1 f1 ~]# swift -A http://10.70.39.9:8080/auth/1.0 -U test1:swift -K "f3umyrBGq37FRoqrqyVuGjG8sxSl1nrLYrbnxKsH" download sw1 f1 f1 [auth 0.011s, headers 0.015s, total 0.015s, 0.000 MB/s] ~]# ll -h f1 -rw-r--r--. 1 root root 0 Jul 17 16:49 f1 <--- size is 0 4. Delete again and try to download the non large object (normal object) ~]# swift -A http://10.70.39.9:8080/auth/1.0 -U test1:swift -K "f3umyrBGq37FRoqrqyVuGjG8sxSl1nrLYrbnxKsH" delete sw1 f1 f1 ~]# swift -A http://10.70.39.9:8080/auth/1.0 -U test1:swift -K "f3umyrBGq37FRoqrqyVuGjG8sxSl1nrLYrbnxKsH" list sw1 f1 ~]# swift -A http://10.70.39.9:8080/auth/1.0 -U test1:swift -K "f3umyrBGq37FRoqrqyVuGjG8sxSl1nrLYrbnxKsH" list sw1temp ~]# swift -A http://10.70.39.9:8080/auth/1.0 -U test1:swift -K "f3umyrBGq37FRoqrqyVuGjG8sxSl1nrLYrbnxKsH" download sw1 f1 f1 [auth 0.011s, headers 0.058s, total 0.389s, 138.629 MB/s] ~]# ll -h f1 -rw-r--r--. 1 root root 50M Jul 17 16:49 f1