Bug 991389

Summary: Connection factory isn't activated in generic-jms-ra.rar resource adapter after server reload with jts transactions mode set.
Product: [JBoss] JBoss Enterprise Application Platform 6 Reporter: Vladimir Rastseluev <vrastsel>
Component: JCAAssignee: Stefano Maestri <smaestri>
Status: CLOSED CURRENTRELEASE QA Contact: Ondrej Chaloupka <ochaloup>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 6.1.1CC: jkudrnac, myarboro, ochaloup, pslavice, smaestri, smumford
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Known Issue
Doc Text:
When a JBoss EAP server is configured with a resource adapter deployed using `generic-jms-ra.rar`, the connection factory is deregistered when the server is reloaded. The cause of the issue is that the generic resource adapter does not correctly handle the reload if the transaction subsystem is configured to run on the JBoss Transactions System (JTS). The root cause of this issue is being investigated. A workaround is to add a JCA descriptor XML file to the RAR archive with the connection properties specified.
Story Points: ---
Clone Of: Environment:
Last Closed: 2014-09-10 13:52:13 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:
Attachments:
Description Flags
module
none
generic-jms-ra.rar none

Description Vladimir Rastseluev 2013-08-02 10:19:55 UTC
Created attachment 781921 [details]
module

Description of problem:
Start server with configured resource adapter and deployed generic-jms-ra.rar. After server started we can see registered and bound connection factory.
Then we add some changes to the server to set up jts transactions mode by CLI utility. Reload the server. Connection factory isn't registered.


Version-Release number of selected component (if applicable):
EAP 6.1.1.ER4
generic resource adapter: https://github.com/jbertram/generic-jms-ra

How reproducible:
easy

Steps to Reproduce:
1. add applied generic-jms-ra.rar file to the $JBOSS_HOME/standalone/deployments directory
2. unpack applied module and add it to $JBOSS_HOME/modules directory
3. update module.xml file from org.jboss.as.ee module, adding a new dependency:
"<module name="com.tibco.tibjms"/>"
4. update $JBOSS_HOME/standalone/configuration/standalone.xml, adding global modules to <subsystem xmlns="urn:jboss:domain:ee:1.1">:
	  <global-modules>
	      <module name="com.tibco.tibjms" slot="main"/>
             <module name="org.jboss.common-core" slot="main"/>
           </global-modules>
5.configure resource-adapters subsystem this way:
<subsystem xmlns="urn:jboss:domain:resource-adapters:1.1">
            <resource-adapters>
                <resource-adapter id="generic-jms-ra.rar">
                    <archive>
                        generic-jms-ra.rar
                    </archive>
                    <transaction-support>XATransaction</transaction-support>
                    <connection-definitions>
                        <connection-definition class-name="org.jboss.resource.adapter.jms.JmsManagedConnectionFactory" jndi-name="java:/jms/QueueConnectionFactory" pool-name="CF" use-java-context="false">
                            <config-property name="JndiParameters">
                                java.naming.factory.initial=com.tibco.tibjms.naming.TibjmsInitialContextFactory;java.naming.provider.url=tcp://tibco01.mw.lab.eng.bos.redhat.com:7222
                            </config-property>
                            <config-property name="ConnectionFactory">
                                XAQCF
                            </config-property>
                            <security>
				<application/>
                            </security>
			    <recovery>
			      <recover-credential>
				<user-name>tibco</user-name>
				<password>tibco</password>
			      </recover-credential>
			    </recovery>
                        </connection-definition>
                    </connection-definitions>
                </resource-adapter>
            </resource-adapters>
        </subsystem>
6. run server $JBOSS_HOME/bin/standalone.sh
see - java:/jms/QueueConnectionFactory is registered
7. run $JBOSS_HOME/bin/cli.sh
8. execute commands in cli:
-->/subsystem=jacorb/:write-attribute(name=transactions,value=on)
-->/subsystem=transactions/:write-attribute(name=recovery-listener,value=true)
-->/subsystem=transactions/:write-attribute(name=jts,value=true)
-->:reload

Actual results:
connection factory java:/jms/QueueConnectionFactory isn't registered

Expected results:
connection factory java:/jms/QueueConnectionFactory isn't registered

Comment 1 Vladimir Rastseluev 2013-08-02 10:21:56 UTC
Created attachment 781922 [details]
generic-jms-ra.rar

Comment 2 Vladimir Rastseluev 2013-08-02 10:26:13 UTC
Workarond exists: use .rar with ironjacanar.xml deployment descriptor, e.g from https://bugzilla.redhat.com/show_bug.cgi?id=991380

Comment 4 JBoss JIRA Server 2013-09-06 05:26:57 UTC
Ivo Studensky <istudens> made a comment on jira WFLY-1968

This does not seem to be an issue in WildFly. It only affects EAP. 
I don't know, however, which commit fixes it.

Comment 5 Russell Dickenson 2013-12-02 01:18:16 UTC
I have written a release notes entry for this ticket. In comment 2, Vladimir suggests a workaround is available, which was not mentioned in the draft release notes text. If there is a workaround available, please provide specifics in this ticket.

Comment 6 Ondrej Chaloupka 2013-12-02 08:15:30 UTC
Hi Russel,

I changed the word restarted to reloaded in the doc text as the problem occurs for reloading server not restarting.

The workaround is to add the iron jacamar descriptor ironjacamar.xml to the RAR archive with the connection properties specified. The issue https://bugzilla.redhat.com/show_bug.cgi?id=991380 contains attachment jms-generic-rar.rar (https://bugzilla.redhat.com/attachment.cgi?id=781903) where such descriptor was added (manually by Vladimir) and with such additional configuration the reload should work.

Ondra

Comment 9 Ondrej Chaloupka 2014-04-08 07:23:43 UTC
Hi Stefano,

please, what is current status of this issue? Do you think that it could be fixed in the near future?

Thanks
Ondra

Comment 10 JBoss JIRA Server 2014-11-13 15:29:09 UTC
Stefano Maestri <smaestri> updated the status of jira WFLY-1968 to Resolved