Bug 2269381 - RGW hangs when kafka broker is down for non-persistent notifications
Summary: RGW hangs when kafka broker is down for non-persistent notifications
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Ceph Storage
Classification: Red Hat Storage
Component: RGW
Version: 7.1
Hardware: Unspecified
OS: Unspecified
unspecified
high
Target Milestone: ---
: 7.1
Assignee: Matt Benjamin (redhat)
QA Contact: Madhavi Kasturi
Akash Raj
URL:
Whiteboard:
Depends On: 2269380
Blocks: 2267614 2298578 2298579
TreeView+ depends on / blocked
 
Reported: 2024-03-13 14:26 UTC by Yuval Lifshitz
Modified: 2024-07-18 07:59 UTC (History)
7 users (show)

Fixed In Version: ceph-18.2.1-64.el9cp
Doc Type: Bug Fix
Doc Text:
.Default values for Kafka message and idle timeouts no longer cause hangs Previously, the default values for Kafka message and idle timeouts caused infrequent hangs while waiting for the Kafka broker. With this fix, the timeouts are adjusted and it no longer hangs.
Clone Of: 2269380
Environment:
Last Closed: 2024-06-13 14:29:34 UTC
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Issue Tracker RHCEPH-8518 0 None None None 2024-03-13 14:29:00 UTC
Red Hat Product Errata RHSA-2024:3925 0 None None None 2024-06-13 14:29:38 UTC

Description Yuval Lifshitz 2024-03-13 14:26:36 UTC
+++ This bug was initially created as a clone of Bug #2269380 +++

Description of problem:
when non-persistent notification are used the notifications are sent syncronously with the S3 operation that triggered them.
if the kafka broker is down, the S3 request will not return until the kafka message timeout. since, by default, this time is 5min in librdkafka, all of the RGW connections will be waiting for the timeout and the RGW will not accept new connections.

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


How reproducible: every time the kafka broker is down and non-persistent notifications are used


Steps to Reproduce:
https://gist.github.com/yuvalif/33487bff19883e3409caa8a843a0b353

Actual results:
all S3 requests return after 30 seconds.
the reason that they don't return after 5min, is the connection idleness timeout which is set to 30 sec (which should also made configurable and set to 5min default)

Expected results:
all S3 requests return after 5 seconds

Additional info:

--- Additional comment from RHEL Program Management on 2024-03-13 14:21:16 UTC ---

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

Comment 2 Yuval Lifshitz 2024-03-13 17:22:22 UTC
commit 17d12ce848e0e137d3897df3fb6ff8e183206280
Author: Yuval Lifshitz <ylifshit>
Date:   Tue Mar 5 10:14:06 2024 +0000

    rgw/kafka: set message timeout to 5 seconds
    
    also increase the idle timeout to 30 seconds.
    test instructions:
    https://gist.github.com/yuvalif/33487bff19883e3409caa8a843a0b353
    
    Fixes: https://tracker.ceph.com/issues/64710
    
    Signed-off-by: Yuval Lifshitz <ylifshit>
    (cherry picked from commit 1c13850f24dbb90c33a12c6da338956c2e83811b)
    
    Resolves: rhbz#2269381
    
    Conflicts:
            src/common/options/rgw.yaml.in
            src/rgw/rgw_kafka.cc

Comment 7 errata-xmlrpc 2024-06-13 14:29:34 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 (Critical: Red Hat Ceph Storage 7.1 security, enhancements, 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-2024:3925


Note You need to log in before you can comment on or make changes to this bug.