Note: This bug is displayed in read-only format because the product is no longer active in Red Hat Bugzilla.

Bug 1184956

Summary: Session draining difference between EAP 6.3 and EAP 6.4
Product: [JBoss] JBoss Enterprise Application Platform 6 Reporter: Michal Karm Babacek <mbabacek>
Component: mod_clusterAssignee: jboss-set
Status: CLOSED WONTFIX QA Contact: Michal Karm Babacek <mbabacek>
Severity: medium Docs Contact:
Priority: unspecified    
Version: 6.4.0CC: bperkins, mbabacek, rhusar
Target Milestone: ---   
Target Release: EAP 6.4.0   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Known Issue
Doc Text:
Cause: ?? Consequence: Workaround (if any): Result:
Story Points: ---
Clone Of: Environment:
Last Closed: 2019-03-01 12:28:24 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:

Description Michal Karm Babacek 2015-01-22 14:58:42 UTC
There is a simple test that deploys a <distributable/> web application; it makes ~20 requests with 2 sessions created and then it commences EAP shutdown.

The test expects the following to be found in the log:

> MODCLUSTER000024: All active sessions drained from default-host:/clusterbench in 0.0 seconds
> MODCLUSTER000021: All pending requests drained from default-host:/clusterbench in 0.0 seconds
> MODCLUSTER000002: Initiating mod_cluster shutdown

With EAP 6.4 though, the output yields:

> MODCLUSTER000025: Failed to drain 2 remaining active sessions from default-host:/clusterbench within 10.0 seconds
> MODCLUSTER000021: All pending requests drained from default-host:/clusterbench in 10.0 seconds
> MODCLUSTER000002: Initiating mod_cluster shutdown

I tried to execute it with both Oracle JDK8 and Open JDK7 without any apparent difference. Furthermore, it appears to be 100% deterministically reproducible.

Session draining configuration: ALWAYS

> <mod-cluster-config advertise-socket="modcluster" connector="ajp" session-draining-strategy="ALWAYS">

The log in question: https://gist.github.com/Karm/b2afeb0ed063002821b7

In the aforementioned log, note that while EAP 6.3 stopped in 110ms, EAP 6.4 was waiting 10107ms and that correlates with the default stop-context-timeout; that is 10000ms.

All in all, I'm not sure whether this is a bug or actually the correct behaviour while the EAP 6.3 one is the erroneous one. Please, comment...

-K-

Comment 1 Radoslav Husar 2015-01-22 18:03:38 UTC
Does the test use the same native part? If not, can you try with the same binary?

Comment 2 Michal Karm Babacek 2015-01-26 23:41:56 UTC
@R: 

I've generated two meshup EAP distros:

Fails the test:
 EAP was taken from distribution       6.4.0.ER1
 Natives were taken from EAP distro    6.3.0
 Connectors were taken from EAP distro 6.3.0
 The new EAP distribution is called    6.4.0.ER1.1a2c174
 Apache HTTP Server was taken from EAP 6.3.0
 EAP ROOT directory was unified on     jboss-eap-6.4
 EWS version                           jboss-ews-httpd-2.1.0

Passes the test:
 EAP was taken from distribution       6.3.0
 Natives were taken from EAP distro    6.4.0.ER1
 Connectors were taken from EAP distro 6.4.0.ER1
 The new EAP distribution is called    6.3.0.5c12141
 Apache HTTP Server was taken from EAP 6.4.0.ER1
 EAP ROOT directory was unified on     jboss-eap-6.3
 EWS version                           jboss-ews-httpd-2.1.0

i.e. the change lies solely in the java code.