Bug 1380196

Summary: [RHCS 1.3.z] RGW goes into loop causing 100% CPU utilization
Product: [Red Hat Storage] Red Hat Ceph Storage Reporter: Justin Bautista <jbautist>
Component: RGWAssignee: Marcus Watts <mwatts>
Status: CLOSED ERRATA QA Contact: ceph-qe-bugs <ceph-qe-bugs>
Severity: high Docs Contact:
Priority: unspecified    
Version: 1.3.2CC: cbodley, ceph-eng-bugs, kbader, kdreyer, linuxkidd, mbenjamin, mhernon, mwatts, owasserm, smanjara, sweil, tmuthami, tserlin
Target Milestone: rc   
Target Release: 1.3.4   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: RHEL: ceph-0.94.9-6.el7cp Ubuntu: ceph_0.94.9-7redhat1 Doc Type: Bug Fix
Doc Text:
Dynamic Large Objects (DLOs) containing zero-length segments could cause the GET requests to enter an infinite loop or to fail depending on the position of the zero-length segment in an object. Consequently, when a GET request entered to an infinite loop, Ceph Object Gateway nodes could consume 100% of CPU. The underlying source code has been modified, and the GET requests succeed as expected in described situation.
Story Points: ---
Clone Of:
: 1383728 (view as bug list) Environment:
Last Closed: 2016-12-01 21:39:03 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 1394936    

Description Justin Bautista 2016-09-28 22:17:04 UTC
Description of problem:

  Virtualized RGW host goes into loop causing 100% CPU utilization.

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

  ceph-radosgw-0.94.5-12.el7cp.x86_64
  RHEL 7.2 servers running OpenStack Kilo with Ceph Storage Backend
===========================================================================

Customer reports that after setting up 3 virtualized RGW nodes several months ago & during testing they've noticed that all 3 are running at 100% CPU (95% of the time) even though they don'think they are being heavily used. We requested RGW debug logs &  they are attached to case 01705883 as 'client.radosgw.log.gz'  

The customer also provided the following details when asked for a specific timeframe to focus on:

"Between 10:10 & 10:20 AM . And it was not using ALL CPU's, but it was using more than 50% (which should have been the limit) and if we had left it alone it would have eventually used all the CPU's. Below is the partial output from sar for that timeframe ...

09:50:01 AM     all      0.07      0.00      0.04      0.00      0.00     99.89
10:00:01 AM     all      0.08      0.00      0.06      0.00      0.00     99.86
10:10:01 AM     all      0.31      0.00      0.22      0.00      0.00     99.48
10:20:01 AM     all     29.40      0.00     30.32      0.05      0.04     40.20
10:30:01 AM     all      9.51      0.00     13.63      0.01      0.01     76.84"

==================================================================================== 

Log analysis of 'log entries per second' ramps up quickly starting at the 10:09:41 mark in the debug log, and appears to go into a loop around that time.

Comment 36 shilpa 2016-11-27 16:10:30 UTC
Verified on ceph-radosgw-0.94.9-7

Comment 41 errata-xmlrpc 2016-12-01 21:39:03 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, 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://rhn.redhat.com/errata/RHSA-2016-2847.html