Bug 1609964

Summary: [GSS](6.4.z) tearDown may interrupt wrong threads after failures
Product: [JBoss] JBoss Enterprise Application Platform 6 Reporter: Clebert Suconic <csuconic>
Component: HornetQAssignee: jboss-set
Status: CLOSED CURRENTRELEASE QA Contact: Peter Mackay <pmackay>
Severity: urgent Docs Contact:
Priority: high    
Version: 6.4.21CC: bmaxwell, csuconic, dcihak, mrobson, msvehla, rstancel
Target Milestone: CR1   
Target Release: EAP 6.4.21   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2019-08-19 12:40:51 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: 1567790, 1610346, 1610355    

Description Clebert Suconic 2018-07-30 22:09:44 UTC
Description of problem:

If a failover is happening, and consumers are stuck for any reason during the process, HornetQ might issue interrupts on wrong threads.
This is because the list of threads is captured before a time wait what could cause issues with the system is the thread doen't belong to the consumer any longer.

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



How reproducible:

On a MDB that's receiving messages and sending messages to a remote node, pull the cable (or disable network). and make failover happen to a backup.

Steps to Reproduce:
1. Deploy the MDB on that condition
2. Pull the network cable
3. failover that server.


Actual results:

JCA will have connections into invalid state. You will get exception on an infinite loop.

There's a secondary issue here as those connections shouldn't come back to the pool.

Expected results:

Connections to reconnect successfully without

Additional info: