Bug 1601876
| Summary: | Add a note about large objects handled incorrectly on versioned swift containers to the Developer Guide | |||
|---|---|---|---|---|
| Product: | [Red Hat Storage] Red Hat Ceph Storage | Reporter: | Tejas <tchandra> | |
| Component: | Documentation | Assignee: | Bara Ancincova <bancinco> | |
| Status: | CLOSED CURRENTRELEASE | QA Contact: | ceph-qe-bugs <ceph-qe-bugs> | |
| Severity: | medium | Docs Contact: | ||
| Priority: | unspecified | |||
| Version: | 3.1 | CC: | agunn, anharris, cbodley, ceph-eng-bugs, jbrier, kbader, kdreyer, mbenjamin, pasik, sweil, tchandra | |
| Target Milestone: | rc | Keywords: | Reopened | |
| Target Release: | 3.2 | |||
| Hardware: | Unspecified | |||
| OS: | Linux | |||
| Whiteboard: | ||||
| Fixed In Version: | Doc Type: | Known Issue | ||
| Doc Text: |
.Large objects handled incorrectly on versioned swift containers
During uploads of large objects to versioned swift containers, please use the option `--leave-segments` in the upload using `python-swiftclient`. Not using this option will lead to an overwrite of the manifest file in which case an existing object is overwritten, leading to data loss.
|
Story Points: | --- | |
| Clone Of: | ||||
| : | 1601921 (view as bug list) | Environment: | ||
| Last Closed: | 2019-02-04 17:09:31 UTC | Type: | Bug | |
| Regression: | --- | Mount Type: | --- | |
| Documentation: | --- | CRM: | ||
| Verified Versions: | Category: | --- | ||
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | ||
| Cloudforms Team: | --- | Target Upstream Version: | ||
| Embargoed: | ||||
| Bug Depends On: | ||||
| Bug Blocks: | 1601921 | |||
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