Bug 1016120 - Transaction JDBC object store does not start on PostgreSQL Plus 9.2
Summary: Transaction JDBC object store does not start on PostgreSQL Plus 9.2
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: JBoss Enterprise Application Platform 6
Classification: JBoss
Component: Transaction Manager
Version: 6.2.0
Hardware: Unspecified
OS: Unspecified
unspecified
urgent
Target Milestone: ER7
: EAP 6.2.0
Assignee: tom.jenkinson
QA Contact: Ondrej Chaloupka
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2013-10-07 14:40 UTC by Ondrej Chaloupka
Modified: 2017-10-10 00:11 UTC (History)
4 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
The JBoss Transaction Manager did not have a properly configured driver class for PostgreSQL Plus 9.2. This resulted in a `ClassNotFoundException` exception when attempting to use a JDBC transaction object store on PostgreSQL Plus 9.2. In this release of JBoss EAP 6, the JBoss Transaction Manager as been updated with a PostgreSQL Plus 9.2 driver class (`jdbc.drivers.postgres_driver`), and JDBC object stores can now be used with PostgreSQL Plus 9.2 servers.
Clone Of:
Environment:
Last Closed: 2013-12-15 16:19:02 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Issue Tracker JBTM-1976 0 Major Closed Add support for JDBC object store on PostgreSQL Plus 9.2 2018-11-12 02:48:17 UTC

Description Ondrej Chaloupka 2013-10-07 14:40:36 UTC
There is problem to start EAP with jdbc object store configured to be saved on PostgreSQL Plus 9.2.

The DatabaseMetaData getDriverName() method returns for standard PostgreSQL string: 'postgresql'
BUT the same method fro PostgreSQL *Plus* returns string: 'postgres'

The Narayana imlementation contains driver class com.arjuna.ats.internal.arjuna.objectstore.jdbc.drivers.postgresql_driver but it does not count with class com.arjuna.ats.internal.arjuna.objectstore.jdbc.drivers.postgres_driver


For that reason you will get error on starting server:
FATAL [com.arjuna.ats.arjuna] (MSC service thread 1-4) ARJUNA012260: Received exception for com.arjuna.ats.internal.arjuna.objectstore.jdbc.accessors.DataSourceJDBCAccess:JBossTSTxTable: java.lang.ClassNotFoundException: com.arjuna.ats.internal.arjuna.objectstore.jdbc.drivers.postgres_driver
  at java.lang.Class.forNameImpl(Native Method) [vm.jar:1.7.0]
  at java.lang.Class.forName(Class.java:181) [vm.jar:1.7.0]
  at com.arjuna.ats.internal.arjuna.objectstore.jdbc.JDBCStore.<init>(JDBCStore.java:260) [jbossjts-jacorb-4.17.10.Final-redhat-2.jar:4.17.10.Final-redhat-2]
  at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) [rt.jar:1.7.0]
  at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:68) [rt.jar:1.7.0]
  at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) [rt.jar:1.7.0]
  at java.lang.reflect.Constructor.newInstance(Constructor.java:529) [rt.jar:2.6 (06-17-2013)]
  at com.arjuna.ats.arjuna.objectstore.StoreManager.initStore(StoreManager.java:183) [jbossjts-jacorb-4.17.10.Final-redhat-2.jar:4.17.10.Final-redhat-2]
  at com.arjuna.ats.arjuna.objectstore.StoreManager.getActionStore(StoreManager.java:111) [jbossjts-jacorb-4.17.10.Final-redhat-2.jar:4.17.10.Final-redhat-2]
  at com.arjuna.ats.arjuna.objectstore.StoreManager.getRecoveryStore(StoreManager.java:68) [jbossjts-jacorb-4.17.10.Final-redhat-2.jar:4.17.10.Final-redhat-2]
  at com.arjuna.ats.internal.arjuna.recovery.ExpiredTransactionStatusManagerScanner.<init>(ExpiredTransactionStatusManagerScanner.java:60) [jbossjts-jacorb-4.17.10.Final-redhat-2.jar:4.17.10.Final-redhat-2]
  at java.lang.J9VMInternals.newInstanceImpl(Native Method) [vm.jar:1.7.0]
  at java.lang.Class.newInstance(Class.java:1616) [vm.jar:1.7.0]
  at com.arjuna.ats.internal.arjuna.common.ClassloadingUtility.loadAndInstantiateClass(ClassloadingUtility.java:137) [jbossjts-jacorb-4.17.10.Final-redhat-2.jar:4.17.10.Final-redhat-2]
  at com.arjuna.ats.internal.arjuna.common.ClassloadingUtility.loadAndInstantiateClasses(ClassloadingUtility.java:158) [jbossjts-jacorb-4.17.10.Final-redhat-2.jar:4.17.10.Final-redhat-2]
  at com.arjuna.ats.arjuna.common.RecoveryEnvironmentBean.getExpiryScanners(RecoveryEnvironmentBean.java:358) [jbossjts-jacorb-4.17.10.Final-redhat-2.jar:4.17.10.Final-redhat-2]
  at com.arjuna.ats.internal.arjuna.recovery.ExpiredEntryMonitor.loadScanners(ExpiredEntryMonitor.java:242) [jbossjts-jacorb-4.17.10.Final-redhat-2.jar:4.17.10.Final-redhat-2]
  at com.arjuna.ats.internal.arjuna.recovery.ExpiredEntryMonitor.initialise(ExpiredEntryMonitor.java:232) [jbossjts-jacorb-4.17.10.Final-redhat-2.jar:4.17.10.Final-redhat-2]
  at com.arjuna.ats.internal.arjuna.recovery.ExpiredEntryMonitor.startUp(ExpiredEntryMonitor.java:72) [jbossjts-jacorb-4.17.10.Final-redhat-2.jar:4.17.10.Final-redhat-2]
  at com.arjuna.ats.internal.arjuna.recovery.RecoveryManagerImple.<init>(RecoveryManagerImple.java:108) [jbossjts-jacorb-4.17.10.Final-redhat-2.jar:4.17.10.Final-redhat-2]
  at com.arjuna.ats.arjuna.recovery.RecoveryManager.<init>(RecoveryManager.java:460) [jbossjts-jacorb-4.17.10.Final-redhat-2.jar:4.17.10.Final-redhat-2]
  at com.arjuna.ats.arjuna.recovery.RecoveryManager.manager(RecoveryManager.java:130) [jbossjts-jacorb-4.17.10.Final-redhat-2.jar:4.17.10.Final-redhat-2]
  at com.arjuna.ats.arjuna.recovery.RecoveryManager.manager(RecoveryManager.java:110) [jbossjts-jacorb-4.17.10.Final-redhat-2.jar:4.17.10.Final-redhat-2]
  at com.arjuna.ats.jbossatx.jta.RecoveryManagerService.create(RecoveryManagerService.java:54) [jbossjts-integration-4.17.10.Final-redhat-2.jar:4.17.10.Final-redhat-2]
  at org.jboss.as.txn.service.ArjunaRecoveryManagerService.start(ArjunaRecoveryManagerService.java:113) [jboss-as-transactions-7.3.0.Final-redhat-7.jar:7.3.0.Final-redhat-7]
  at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1811) [jboss-msc-1.0.4.GA-redhat-1.jar:1.0.4.GA-redhat-1]
  at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1746) [jboss-msc-1.0.4.GA-redhat-1.jar:1.0.4.GA-redhat-1]
  at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [rt.jar:1.7.0]
  at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [rt.jar:1.7.0]
  at java.lang.Thread.run(Thread.java:781) [vm.jar:1.7.0]

Comment 1 Ondrej Chaloupka 2013-10-10 12:01:38 UTC
Proposing this as possible bloker as the postgres plus is supported DB.

Comment 6 tom.jenkinson 2013-10-11 16:25:40 UTC
I have resolved this in master as noted above, I can back port to EAP 6.2 once I have the flags

Comment 7 JBoss JIRA Server 2013-10-15 11:47:09 UTC
Tom Jenkinson <tom.jenkinson> updated the status of jira JBTM-1976 to Reopened

Comment 8 JBoss JIRA Server 2013-10-15 11:47:09 UTC
Tom Jenkinson <tom.jenkinson> made a comment on jira JBTM-1976

Re-open for backport

Comment 9 Dimitris Andreadis 2013-10-15 12:43:05 UTC
Change milestone to ER7

Comment 10 Ondrej Chaloupka 2013-10-16 07:47:45 UTC
As this thing is missing in 6.2.0 Beta I'm adding the requires_doc_text to ? as it should be considered to mention this bz in the beta release notes.

Comment 11 JBoss JIRA Server 2013-10-16 09:59:58 UTC
Tom Jenkinson <tom.jenkinson> updated the status of jira JBTM-1976 to Closed

Comment 12 tom.jenkinson 2013-10-16 10:18:30 UTC
https://github.com/jbossas/jboss-eap/pull/562

Comment 13 Ondrej Chaloupka 2013-11-01 10:25:12 UTC
Verified on EAP 6.2.0.ER7.


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