Bug 1165859

Summary: [GSS] (6.3.z) Timing issues with WAIT_FOR_BEFORE_START can result in connectors never starting
Product: [JBoss] JBoss Enterprise Application Platform 6 Reporter: Aaron Ogburn <aogburn>
Component: WebAssignee: Aaron Ogburn <aogburn>
Status: CLOSED CURRENTRELEASE QA Contact: Michael Cada <mcada>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 6.3.3CC: istudens, jawilson, jlee
Target Milestone: CR1   
Target Release: EAP 6.3.3   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
: 1166308 (view as bug list) Environment:
Last Closed: 2019-08-02 07:27:05 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: 1164391    
Bug Blocks: 1151405, 1166308    
Attachments:
Description Flags
bz1164391.btm none

Description Aaron Ogburn 2014-11-19 21:31:47 UTC
Description of problem:

Sometimes, you may see that connectors never start if you use the WAIT_FOR_BEFORE_START property.  This is because of a timing issue allowed by the concurrency of WebConnectorService.start and WebVirtualHostService.start.  If the host hasn't started by the WebConnectorService.start time, it doesn't get the WAIT_FOR_BEFORE_START listener, and so we end up missing notifications on the app start up and then the connector can never start.


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

JBossWeb 7.4


How reproducible:

Somewhat difficult to reproduce the timing issue.


Steps to Reproduce:
1. Use attached bz1164391.btm.  Add it to your JVM options:

-javaagent:/path/to/byteman/lib/byteman.jar=script:/path/to/bz1164391.btm,sys:/path/to/byteman/lib/byteman.jar

2. ./standalone.sh -Dorg.apache.catalina.connector.WAIT_FOR_BEFORE_START=/app w/ app.war  and app.war.dodeploy in deployments 
3. Check for the connectors not starting when /app deploys.  The issue can be reproduced 100% of the time if you somehow force a a delay of a few seconds at the start of org.apache.catalina.core.StandardEngine.addChild().

Actual results:

Connectors may not start with WAIT_FOR_BEFORE_START.


Expected results:

Connectors always start with WAIT_FOR_BEFORE_START when required apps are deployed.

Additional info:

Comment 2 Radim Hatlapatka 2015-01-19 16:36:21 UTC
Verified in EAP 6.3.3.CP.CR1