CEPH filesystem development
 help / color / mirror / Atom feed
From: Yang Joseph <joseph.yang@xtaotech.com>
To: ceph-devel@vger.kernel.org
Cc: Javen Wu <javen.wu@xtaotech.com>
Subject: rgw: object null version delete
Date: Thu, 2 Jun 2016 17:21:34 +0800	[thread overview]
Message-ID: <574FFA9E.7060100@xtaotech.com> (raw)

Hello,

Radosgw version Hammer (0.94.5) can not delete a null version key which 
created before
turn on bucket versioning[1]. And its value can still be accessed. In 
order to
solve this problem, I applied the changes of [2]. But sometimes the test 
case
can pass, sometimes not.

For all my osd daemons, I set breakpoints at 
rgw_bucket_unlink_instance/rgw_bucket_read_olh_log.
I noticed that a failed case's unlink/read_olh_log requests never 
reached osd side.

How to fix this problem? Any suggestions?

Thx,

joseph

ref:

[1] How to reproduce the bug:

     - create bucket
     - put key AAA
     - turn on bucket versioning
     - read AAA // expect 404
     - delete AAA
     - delete bucket

[2] hammer: rgw: convert plain object to versioned (with null version) 
when removing #8755 
https://github.com/ceph/ceph/pull/8755/commits/12cf255eb2ae666afb29df40d61de754257f7f28?diff=split

[3] bilog

# radosgw-admin bilog list --bucket=4e00f488-28a1-11e6-a9e6-002590ae43ca 
--cluster rgwltt
[
     {
         "op_id": "00000000001.77.2",
         "op_tag": "rgwltt-rgwltt.6547.113",
         "op": "write",
         "object": "4e1274ec-28a1-11e6-a9e6-002590ae43ca",
         "instance": "",
         "state": "pending",
         "index_ver": 1,
         "timestamp": "0.000000",
         "ver": {
             "pool": -1,
             "epoch": 0
         },
         "versioned": false
     },
     {
         "op_id": "00000000002.78.3",
         "op_tag": "rgwltt-rgwltt.6547.113",
         "op": "write",
         "object": "4e1274ec-28a1-11e6-a9e6-002590ae43ca",
         "instance": "",
         "state": "complete",
         "index_ver": 2,
         "timestamp": "2016-06-02 09:06:34.000000Z",
         "ver": {
             "pool": 15,
             "epoch": 17
         },
         "versioned": false
     },
     {
         "op_id": "00000000003.79.5",
         "op_tag": "00000000574ff71azhrp4zx1y11qcsv2",
         "op": "unlink_instance",
         "object": "4e1274ec-28a1-11e6-a9e6-002590ae43ca",
         "instance": "",
         "state": "complete",
         "index_ver": 3,
         "timestamp": "2016-06-02 09:06:34.787122Z",
         "ver": {
             "pool": -1,
             "epoch": 2
         },
         "versioned": true
     },
     {
         "op_id": "00000000004.80.5",
         "op_tag": "00000000574ff71cgeeopd12arjscnds",
         "op": "unlink_instance",
         "object": "4e1274ec-28a1-11e6-a9e6-002590ae43ca",
         "instance": "",
         "state": "complete",
         "index_ver": 4,
         "timestamp": "2016-06-02 09:06:36.760707Z",
         "ver": {
             "pool": -1,
             "epoch": 3
         },
         "versioned": true
     }

]



             reply	other threads:[~2016-06-02  9:21 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-06-02  9:21 Yang Joseph [this message]
2016-06-02 13:17 ` rgw: object null version delete Orit Wasserman
2016-06-07  2:30   ` Yang Joseph
2016-06-07  8:32     ` Orit Wasserman
2016-06-14  3:13 ` rgw: object listing hangs on versioned bucket KIMURA Osamu
2016-06-14 10:21   ` Orit Wasserman
2016-06-15  5:26     ` KIMURA Osamu

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=574FFA9E.7060100@xtaotech.com \
    --to=joseph.yang@xtaotech.com \
    --cc=ceph-devel@vger.kernel.org \
    --cc=javen.wu@xtaotech.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox