Project

General

Profile

Actions

Bug #58552

closed

test_rgw_datacache.py test if failing with Permission denied

Added by Yuval Lifshitz about 1 year ago. Updated about 1 year ago.

Status:
Resolved
Priority:
Urgent
Assignee:
Target version:
-
% Done:

0%

Source:
Development
Tags:
d3n backport_processed
Backport:
reef
Regression:
No
Severity:
3 - minor
Reviewed:
Affected Versions:
ceph-qa-suite:
Pull request ID:
Crash signature (v1):
Crash signature (v2):

Description

see log at: http://qa-proxy.ceph.com/teuthology/yuvalif-2023-01-21_18:18:43-rgw-wip-yuval-signed-comparisson-distro-default-smithi/7132933/teuthology.log

2023-01-22T01:18:28.168 INFO:tasks.workunit.client.0.smithi106.stderr:DEBUG:root:exec_cmd(basename /tmp/rgw_datacache/4b3325c1-07ce-47a5-9a4a-7174a967fd6c.4665.1__shadow_.Q5xvGN4pXJuPNuCUOZk0gwkAYw0DwGe_0
2023-01-22T01:18:28.169 INFO:tasks.workunit.client.0.smithi106.stderr:/tmp/rgw_datacache/4b3325c1-07ce-47a5-9a4a-7174a967fd6c.4665.1__shadow_.Q5xvGN4pXJuPNuCUOZk0gwkAYw0DwGe_1)
2023-01-22T01:18:28.170 INFO:tasks.workunit.client.0.smithi106.stderr:ERROR:root:command failed
2023-01-22T01:18:28.170 INFO:tasks.workunit.client.0.smithi106.stderr:ERROR:root:error: b'/bin/sh: line 1: /tmp/rgw_datacache/4b3325c1-07ce-47a5-9a4a-7174a967fd6c.4665.1__shadow_.Q5xvGN4pXJuPNuCUOZk0gwkAYw0DwGe_1: Permission denied\n'
2023-01-22T01:18:28.170 INFO:tasks.workunit.client.0.smithi106.stderr:returncode: 126
2023-01-22T01:18:28.170 INFO:tasks.workunit.client.0.smithi106.stderr:Traceback (most recent call last):
2023-01-22T01:18:28.171 INFO:tasks.workunit.client.0.smithi106.stderr:  File "/home/ubuntu/cephtest/clone.client.0/qa/workunits/rgw/test_rgw_datacache.py", line 210, in <module>
2023-01-22T01:18:28.171 INFO:tasks.workunit.client.0.smithi106.stderr:    main()
2023-01-22T01:18:28.171 INFO:tasks.workunit.client.0.smithi106.stderr:  File "/home/ubuntu/cephtest/clone.client.0/qa/workunits/rgw/test_rgw_datacache.py", line 193, in main
2023-01-22T01:18:28.171 INFO:tasks.workunit.client.0.smithi106.stderr:    basename_cmd_out = get_cmd_output(out)
2023-01-22T01:18:28.172 INFO:tasks.workunit.client.0.smithi106.stderr:  File "/home/ubuntu/cephtest/clone.client.0/qa/workunits/rgw/test_rgw_datacache.py", line 128, in get_cmd_output
2023-01-22T01:18:28.172 INFO:tasks.workunit.client.0.smithi106.stderr:    out = cmd_out.decode('utf8')
2023-01-22T01:18:28.172 INFO:tasks.workunit.client.0.smithi106.stderr:AttributeError: 'bool' object has no attribute 'decode'


Related issues 1 (0 open1 closed)

Copied to rgw - Backport #59004: reef: test_rgw_datacache.py test if failing with Permission deniedResolvedMark KoganActions
Actions #1

Updated by Casey Bodley about 1 year ago

  • Status changed from New to Triaged
  • Assignee set to Mark Kogan
Actions #2

Updated by Mark Kogan about 1 year ago

  • Assignee deleted (Mark Kogan)

The D3N cache test has failed inadvertently two cache object part files were found on the cache directory instead of one

either `...get_obj_iterate_cb(...)` https://github.com/ceph/ceph/blob/main/src/rgw/driver/rados/rgw_d3n_datacache.h#L167

int D3nRGWDataCache<T>::get_obj_iterate_cb(const DoutPrefixProvider *dpp, const rgw_raw_obj& read_obj, off_t obj_ofs,
                                 off_t read_ofs, off_t len, bool is_head_obj,
                                 RGWObjState *astate, void *arg) {

being called with a head object BUT the is_head_obj parameter is set to false instead of true

or in this test radosgw is configured not to store data in the head objects, hence two data objects were created?
(reviewing the confs in the log http://qa-proxy.ceph.com/teuthology/yuvalif-2023-01-21_18:18:43-rgw-wip-yuval-signed-comparisson-distro-default-smithi/7132933/teuthology.log , nothing obvious stuck out for me, could it be a side effect of `rgw crypt ...` confs?)

from this test log at: http://qa-proxy.ceph.com/teuthology/yuvalif-2023-01-21_18:18:43-rgw-wip-yuval-signed-comparisson-distro-default-smithi/7132933/remote/smithi106/log/rgw.ceph.client.0.log.gz

the test object is 7M in size, there should be only one callback with `3145728` size but in the log we see a 4M callbeck which should not be there

s3:get_obj get_obj_state: rctx=0x26081b10 obj=:datacachebucket[4b3325c1-07ce-47a5-9a4a-7174a967fd6c.4665.1]):7M.dat state=0x145ea7638 s->prefetch_data=1
s3:get_obj D3nDataCache::get_obj_iterate_cb(): oid=4b3325c1-07ce-47a5-9a4a-7174a967fd6c.4665.1__shadow_.Q5xvGN4pXJuPNuCUOZk0gwkAYw0DwGe_0, is_head_obj=0, obj-ofs=0, read_ofs=0, len=4194304
^^^^^^^ this line should not appear as this is a head object allegedly and that is_head_obj=0 on a head object is abnormal
s3:get_obj D3nDataCache: get_obj_iterate_cb(): WRITE TO CACHE: oid=4b3325c1-07ce-47a5-9a4a-7174a967fd6c.4665.1__shadow_.Q5xvGN4pXJuPNuCUOZk0gwkAYw0DwGe_0, obj-ofs=0, read_ofs=0 len=4194304
s3:get_obj RGWObjManifest::operator++(): rule->part_size=0 rules.size()=1
s3:get_obj RGWObjManifest::operator++(): result: ofs=4194304 stripe_ofs=4194304 part_ofs=0 rule->part_size=0
s3:get_obj D3nDataCache::get_obj_iterate_cb(): oid=4b3325c1-07ce-47a5-9a4a-7174a967fd6c.4665.1__shadow_.Q5xvGN4pXJuPNuCUOZk0gwkAYw0DwGe_1, is_head_obj=0, obj-ofs=4194304, read_ofs=0, len=3145728
s3:get_obj D3nDataCache: get_obj_iterate_cb(): WRITE TO CACHE: oid=4b3325c1-07ce-47a5-9a4a-7174a967fd6c.4665.1__shadow_.Q5xvGN4pXJuPNuCUOZk0gwkAYw0DwGe_1, obj-ofs=4194304, read_ofs=0 len=3145728
^^^^^^^ only this log line should appear, it is tail object
s3:get_obj RGWObjManifest::operator++(): rule->part_size=0 rules.size()=1
s3:get_obj RGWObjManifest::operator++(): result: ofs=7340032 stripe_ofs=7340032 part_ofs=0 rule->part_size=0

example from my system:

s3:get_obj get_obj_state: rctx=0x307aee0 obj=:bkt[6c451b30-9346-42fb-b0bb-7d0e29e6b4c6.4153.1]):7M.dat state=0x52bf1e8 s->prefetch_data=1
s3:get_obj D3nDataCache::get_obj_iterate_cb(): oid=6c451b30-9346-42fb-b0bb-7d0e29e6b4c6.4153.1__shadow_.DdxJ25l7jjX9S3IWTZO6NUFYjoZZ1Sc_1, is_head_obj=0, obj-ofs=4194304, read_ofs=0, len=3145728
s3:get_obj D3nDataCache: get_obj_iterate_cb(): WRITE TO CACHE: oid=6c451b30-9346-42fb-b0bb-7d0e29e6b4c6.4153.1__shadow_.DdxJ25l7jjX9S3IWTZO6NUFYjoZZ1Sc_1, obj-ofs=4194304, read_ofs=0 len=3145728
s3:get_obj RGWObjManifest::operator++(): rule->part_size=0 rules.size()=1
s3:get_obj RGWObjManifest::operator++(): result: ofs=7340032 stripe_ofs=7340032 part_ofs=0 rule->part_size=0

Actions #3

Updated by Casey Bodley about 1 year ago

  • Assignee set to Mark Kogan
Actions #4

Updated by Casey Bodley about 1 year ago

  • Priority changed from Normal to Urgent
Actions #5

Updated by Mark Kogan about 1 year ago

  • Pull request ID set to 50003
Actions #6

Updated by Mark Kogan about 1 year ago

  • Status changed from Triaged to Fix Under Review
Actions #7

Updated by Casey Bodley about 1 year ago

  • Status changed from Fix Under Review to Pending Backport
  • Backport set to reef
Actions #8

Updated by Backport Bot about 1 year ago

  • Copied to Backport #59004: reef: test_rgw_datacache.py test if failing with Permission denied added
Actions #9

Updated by Backport Bot about 1 year ago

  • Tags changed from d3n to d3n backport_processed
Actions #10

Updated by Casey Bodley about 1 year ago

  • Status changed from Pending Backport to Resolved
Actions

Also available in: Atom PDF