Bug 1853057

Summary: Bug allows ordered bucket listing to get stuck -- 3.3
Product: [Red Hat Storage] Red Hat Ceph Storage Reporter: J. Eric Ivancich <ivancich>
Component: RGWAssignee: J. Eric Ivancich <ivancich>
Status: CLOSED ERRATA QA Contact: Tejas <tchandra>
Severity: urgent Docs Contact:
Priority: urgent    
Version: 3.3CC: cbodley, ceph-eng-bugs, kbader, mbenjamin, sweil, tchandra, tserlin, vereddy, vimishra
Target Milestone: z6   
Target Release: 3.3   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: RHEL: ceph-12.2.12-122.el7cp Ubuntu: ceph_12.2.12-109redhat1 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: 1853052 Environment:
Last Closed: 2020-08-18 18:05:58 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description J. Eric Ivancich 2020-07-01 19:57:05 UTC
+++ This bug was initially created as a clone of Bug #1853052 +++

Description of problem:

When a single call to an ordered bucket listing contains only common prefixes (i.e., delimiter is set), it's possible for the code to get stuck. 

Version-Release number of selected component (if applicable):


How reproducible:

Very.

Steps to Reproduce:
1. Create a bucket in s3 that contains over 1000 entries with no "objects" at the top level and only "subdirectories".
2. Use s3cmd to list that bucket

Actual results:

No results provided; code is in infinite loop.

Expected results:

Listing produced.

Additional info:

See upstream tracker: https://tracker.ceph.com/issues/45955

--- Additional comment from RHEL Program Management on 2020-07-01 19:48:11 UTC ---

Please specify the severity of this bug. Severity is defined here:
https://bugzilla.redhat.com/page.cgi?id=fields.html#bug_severity.

--- Additional comment from J. Eric Ivancich on 2020-07-01 19:50:20 UTC ---

The fix for this already exists and was intended for a code clean-up. But it also addresses this issue. The reason is subtle -- a logging message at level 20 was used to, as a side-effect, increment a loop control variable. But due to optimizations, the code (and side-effect) is never executed unless the logging level is 20 or above.

Comment 1 J. Eric Ivancich 2020-07-02 19:40:30 UTC
commit added to ceph-3.3-rhel-patches-STAGE

Comment 9 errata-xmlrpc 2020-08-18 18:05:58 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory (Moderate: Red Hat Ceph Storage 3.3 security and bug fix update), and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHSA-2020:3504