Hi,
I was doing some tests with opstate on radosgw, and I find that behavior
is strange :
When I try to retrieve the status of a particular object by specifying
client_id, object and op_id, the return value is an empty array.
The behavior is identical using radosgw-admin and the REST API.
Is it a desired behavior ?
My version is hammer (0.94.5), is that someone could make the test with
another version ?
For example :
$ radosgw-admin opstate set --client_id client1 --object 'myobject'
--op_id '1000' --state 'error'
# When I try to retreive by object name, the value is returned :
$ radosgw-admin opstate list --object=myobject
[
{
"client_id": "client1",
"op_id": "1000",
"object": "myobject",
"timestamp": "2016-01-04 08:36:04.785597Z",
"state": "error"
}
]
# When I try to retreive by client_id, object and op_id, the array is
empty :
$ radosgw-admin opstate list --client_id client1 --object 'myobject'
--op_id '1000'
[
]
# Log trace for the first command : (radosgw-admin opstate list
--object=myobject)
2016-01-04 09:40:34.281624 7f00d7e76800 1 -- 172.16.4.29:0/3173774305
--> 172.16.4.68:6802/530 -- osd_op(client.23890090.0:23
statelog.obj_opstate.126 [call statelog.list] 26.21370676
ack+read+known_if_redirected e13127) v5 -- ?+0 0x45bb2c0 con 0x45b4ba0
2016-01-04 09:40:34.284476 7f00b9ae8700 1 -- 172.16.4.29:0/3173774305
<== osd.36 172.16.4.68:6802/530 1 ==== osd_op_reply(23
statelog.obj_opstate.126 [call] v0'0 uv5613451 ondisk = 0) v6 ====
191+0+68 (3477643793 0 3202723411) 0x7f0050000cd0 con 0x45b4ba0
[
{
"client_id": "client1",
"op_id": "1000",
"object": "myobject",
"timestamp": "2016-01-04 08:36:04.785597Z",
"state": "error"
}
]
# Log trace for the second command : (radosgw-admin opstate list
--client_id client1 --object 'myobject' --op_id '1000')
2016-01-04 09:40:48.071165 7f54153dc800 1 -- 172.16.4.29:0/2301029731
--> 172.16.4.68:6802/530 -- osd_op(client.23978876.0:23
statelog.obj_opstate.126 [call statelog.list] 26.21370676
ack+read+known_if_redirected e13127) v5 -- ?+0 0x3aff330 con 0x3af8c40
2016-01-04 09:40:48.074318 7f53d6fef700 1 -- 172.16.4.29:0/2301029731
<== osd.36 172.16.4.68:6802/530 1 ==== osd_op_reply(23
statelog.obj_opstate.126 [call] v0'0 uv5613451 ondisk = 0) v6 ====
191+0+15 (1417304820 0 2149983739) 0x7f5394000ca0 con 0x3af8c40
[
]
The behavior is same with the REST API :
/admin/opstate?client-id=client1&object=myobject&op-id=1000
[{"client_id":"client1","op_id":"1000","object":"myobject","timestamp":"2016-01-04
08:36:04.785597Z","state":"error"}]
/admin/opstate?object=myobject
[]
$ rados -p .main.log listomapvals statelog.obj_opstate.126
1_client1_1000
value: (53 bytes) :
0000 : 01 01 2f 00 00 00 07 00 00 00 63 6c 69 65 6e 74 : ../.......client
0010 : 31 04 00 00 00 31 30 30 30 08 00 00 00 6d 79 6f : 1....1000....myo
0020 : 62 6a 65 63 74 f4 2e 8a 56 2f 44 d3 2e 00 00 00 : bject...V/D.....
0030 : 00 03 00 00 00 : .....
2_8_myobject_1000
value: (53 bytes) :
0000 : 01 01 2f 00 00 00 07 00 00 00 63 6c 69 65 6e 74 : ../.......client
0010 : 31 04 00 00 00 31 30 30 30 08 00 00 00 6d 79 6f : 1....1000....myo
0020 : 62 6a 65 63 74 f4 2e 8a 56 2f 44 d3 2e 00 00 00 : bject...V/D.....
0030 : 00 03 00 00 00 : .....
Thanks,
Laurent Barbe
_______________________________________________
ceph-users mailing list
ceph-users@xxxxxxxxxxxxxx
http://lists.ceph.com/listinfo.cgi/ceph-users-ceph.com