Project

General

Profile

Bug #46770

rgw incorrect http status on RADOS i/o error

Added by Or Friedmann 6 months ago. Updated 5 months ago.

Status:
In Progress
Priority:
Normal
Assignee:
Target version:
% Done:

0%

Source:
Development
Tags:
Backport:
nautilus octopus
Regression:
No
Severity:
3 - minor
Reviewed:
Affected Versions:
ceph-qa-suite:
Pull request ID:
Crash signature:

Description

2020-07-30T11:20:29.492+0300 7fc47a684700 2 req 5 104.392984510s s3:get_obj op status=-110
2020-07-30T11:20:29.492+0300 7fc47a684700 2 req 5 104.392984510s s3:get_obj http status=200
2020-07-30T11:20:29.492+0300 7fc47a684700 1 ====== req done req=0x7fc6805e27a0 op status=-110 http_status=200 latency=104.392984510s ======

op status is -110 (timeout) and http status is 200, it looks like rgw is not sending any response in this situation (no packets on wireshark) although curl is still waiting for response

History

#1 Updated by Or Friedmann 6 months ago

It happens after implementing objecter timeout, but it will probably occur on any error come from RADOS in iterate_obj

#2 Updated by Casey Bodley 6 months ago

  • Status changed from New to In Progress

#3 Updated by Or Friedmann 6 months ago

As the status code sent before sending the body it is not possible to change the http_status.
It looks like Civetweb closes the response as it should and Beast doesn't

#4 Updated by Matt Benjamin 6 months ago

Thanks, I wonder if Marcus ran into this.

Matt

#5 Updated by Casey Bodley 6 months ago

It looks like Marcus did address this on the read side in https://github.com/ceph/ceph/pull/35350.

#6 Updated by Or Friedmann 5 months ago

  • Pull request ID set to 36428

Also available in: Atom PDF