Bug 1184956 - Session draining difference between EAP 6.3 and EAP 6.4
Summary: Session draining difference between EAP 6.3 and EAP 6.4
Keywords:
Status: CLOSED WONTFIX
Alias: None
Product: JBoss Enterprise Application Platform 6
Classification: JBoss
Component: mod_cluster
Version: 6.4.0
Hardware: Unspecified
OS: Unspecified
unspecified
medium
Target Milestone: ---
: EAP 6.4.0
Assignee: jboss-set
QA Contact: Michal Karm Babacek
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2015-01-22 14:58 UTC by Michal Karm Babacek
Modified: 2019-03-01 12:28 UTC (History)
3 users (show)

Fixed In Version:
Doc Type: Known Issue
Doc Text:
Cause: ?? Consequence: Workaround (if any): Result:
Clone Of:
Environment:
Last Closed: 2019-03-01 12:28:24 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)

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.


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