Bug 847150 - httpd_singular stacks up and times out C9 app creation requests
Summary: httpd_singular stacks up and times out C9 app creation requests
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: OKD
Classification: Red Hat
Component: Containers
Version: 2.x
Hardware: Unspecified
OS: Unspecified
medium
medium
Target Milestone: ---
: ---
Assignee: Rob Millner
QA Contact: libra bugs
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2012-08-09 21:17 UTC by Rob Millner
Modified: 2015-05-14 22:57 UTC (History)
2 users (show)

Fixed In Version: devenv_1971
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2012-09-17 21:30:06 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)

Description Rob Millner 2012-08-09 21:17:14 UTC
Description of problem:
Operations creates 1000 nodes at a time for C9.  This stacks up a huge number of requests on the httpd_singular lock and causes timeouts.

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


How reproducible:
Whenever creating huge numbers of nodes at a time.


Steps to Reproduce:
1. Configure for C9
2. Create a thousand apps at a time
3.
  
Actual results:
Fail

Expected results:
It works.

Additional info:

Here's an proposal for httpd_singular to stack up a bunch of graceful requests and only do one.  

This should cause requests to wait at most two iterations for a graceful and create a sharp drop-off on the number of simultaneous graceful requests being processed.

1. Register a request for graceful.
   1.1 atomic unique tmpfile in /dev/shm, empty

2. Grab the singular lock

3. Scan the set of requests and make a list (see #1)
  3.1 A request is an empty request file.
  3.2 If there are requests, then run chk and graceful
  3.3 Copy the results into the request file

4. Read and remove my own request file and return the results

5. Unlock the singular lock

Comment 1 Rob Millner 2012-08-09 23:33:24 UTC
Crankcase pull request #356.

Comment 2 Rob Millner 2012-08-10 18:43:40 UTC
Pull request accepted.

Comment 3 Jianwei Hou 2012-08-14 02:42:17 UTC
Verified on devenv_1975

Steps:
1.Launch an instance and configure for C9
2.Create a 1000 apps at time

Results:
No timeout occurs, the apps were created fast.


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