Thread: ...
Fri, 01 Feb 2013 05:18:46 -0800 (PST)01 Feb 2013 05:18:46 -0800 (PST) X-Newsgroups: pgsql.interfaces.jdbc Date: Fri, 1 Feb 2013 05:18:46 -0800 (PST) Complaints-To: groups-abuse@google.com Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=188.39.12.84; posting-account=1vp4OgoAAAB6wqFa98V3ruX67YpJqUim User-Agent: G2/1.0 MIME-Version: 1.0 Message-ID: <8299680a-6689-4f61-abe8-36ddb6e661cf@googlegroups.com> Subject: Moving from postgres 8.3 to 9.1 on glassfish 2.1 From: Richard Marshall <richard.marshall@first-utility.com> Injection-Date: Fri, 01 Feb 2013 13:18:46 +0000 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable To: pgsql-jdbc@postgresql.org Hi, We are trying to update our postgres estate to 9.1 servers from 8.3. I am c= urrently going through all the systems that connect so that I can start upd= ating client libraries (I'm hoping to move to the latest 9.2 drivers.) Most=of the systems so far=20 have been happy moving to the recent libs but I've got stuck at a legacy ap= plication (so we're not allowed to make any changes to the code..) which is=running on Glassfish 2.1 with a postgres 8.1-407library. I have been able to get the system to run up as far a postgres-8.4.703 libs= , but the application will not work with any of the 9.X libraries. We see a=number of stack traces, but essentially it'scomplaining that it cannot co= mplete a transaction (see two stack trace heads below). We can see in the s= ource code that we are setting autocommit=3Dtrue in the connection in the c= ode but we can;t change this. It appears behaviour between 8.4 and 9.0+ changed. Is there anyway we can o= vercome this? Will and 8.4 driver be safe working with a 9.1 database? (it's currently ru= nning 8.1 driver against 8.3 database). We have no plans to change the data= structure when we move to 9.1, it's simply to leverage improved vacuuming, = replication options, etc.=20 Any help much appreciated!! Many thanks Rich javax.ejb.EJBException: Unable to complete container-managed transaction.; = nested exception is: javax.transaction.SystemException javax.transaction.SystemExceptionat com.sun.enterprise.distributedtx.J2EETransaction.commit(J2EETransaction= .java:476)at com.sun.enterprise.distributedtx.J2EETransactionManagerOpt.commit(J2EET= ransactionManagerOpt.java:371)at com.sun.ejb.containers.BaseContainer.completeNewTx(BaseContainer.java:3= 792)at com.sun.ejb.containers.BaseContainer.postInvokeTx(BaseContainer.java:35= 71)at com.sun.ejb.containers.BaseContainer.postInvoke(BaseContainer.java:1354= )at com.sun.ejb.containers.BaseContainer.postInvoke(BaseContainer.java:1316= )at com.sun.ejb.containers.EJBObjectInvocationHandler.invoke(EJBObjectInvoc= ationHandler.java:210)at com.sun.ejb.containers.EJBObjectInvocationHandler.invoke(EJBObjectInvoc= ationHandler.java:120)at $Proxy366.processExpiredSuspendedObservers(Unknown Source)at sun.reflect.NativeMethodAccessorImpl.invoke0(NativeMethod)at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.ja= va:39)at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccesso= rImpl.java:25)at java.lang.reflect.Method.invoke(Method.java:585)at com.sun.corba.ee.impl.presentation.rmi.StubInvocationHandlerImpl.privat= eInvoke(StubInvocationHandlerImpl.java:233)at com.sun.corba.ee.impl.presentation.rmi.StubInvocationHandlerImpl.invoke= (StubInvocationHandlerImpl.java:152)at com.sun.corba.ee.impl.presentation.rmi.bcel.BCELStubBase.invoke(BCELStu= bBase.java:225) |SEVERE|sun-appserver9.1|javax.enterprise.resource.resourceadapter|_ThreadI= D=3D19;_ThreadName=3Dp: thread-pool-1; w: 7;_RequestID=3D991e1fc7-24e1-4664= -a92b-4514bc587665;|RAR5031:System Exception. javax.resource.spi.LocalTransactionException: Cannot commit when autoCommit=is enabled.at com.sun.gjc.spi.LocalTransaction.commit(LocalTransaction.java:93)at com.sun.enterprise.resource.ConnectorXAResource.commit(ConnectorXAResou= rce.java:114)at com.sun.enterprise.distributedtx.J2EETransaction.commit(J2EETransaction= .java:462)at com.sun.enterprise.distributedtx.J2EETransactionManagerOpt.commit(J2EET= ransactionManagerOpt.java:371)at com.sun.ejb.containers.BaseContainer.completeNewTx(BaseContainer.java:3= 792)at com.sun.ejb.containers.BaseContainer.postInvokeTx(BaseContainer.java:35= 71)at com.sun.ejb.containers.BaseContainer.postInvoke(BaseContainer.java:1354= )at com.sun.ejb.containers.BaseContainer.postInvoke(BaseContainer.java:1316= )at com.sun.ejb.containers.EJBObjectInvocationHandler.invoke(EJBObjectInvoc= ationHandler.java:210)at com.sun.ejb.containers.EJBObjectInvocationHandler.invoke(EJBObjectInvoc= ationHandler.java:120)at $Proxy366.processExpiredSuspendedObservers(Unknown Source)at sun.reflect.NativeMethodAccessorImpl.invoke0(NativeMethod)at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.ja= va:39)at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccesso= rImpl.java:25)at java.lang.reflect.Method.invoke(Method.java:585)at com.sun.corba.ee.impl.presentation.rmi.StubInvocationHandlerImpl.privat= eInvoke(StubInvocationHandlerImpl.java:233)at com.sun.corba.ee.impl.presentation.rmi.StubInvocationHandlerImpl.invoke= (StubInvocationHandlerImpl.java:152)at com.sun.corba.ee.impl.presentation.rmi.bcel.BCELStubBase.invoke(BCELStu= bBase.java:225)
Since you were setting autocommit true before how did it ever work ?
I suspect you will be able to get away with an older driver, however the real solution is to fix the problem.
I am wondering if you are using a hacked driver which ignores the setAutocommit(true) ?
There are differences in how binary data are handled in 9.1 vs 8.3 as well as I believe there are many automatic casts which will no longer work
On Fri, Feb 1, 2013 at 8:18 AM, News Subsystem <news@news.hub.org> wrote:
Fri, 01 Feb 2013 05:18:46 -0800 (PST)
01 Feb 2013 05:18:46 -0800 (PST)
X-Newsgroups: pgsql.interfaces.jdbc
Date: Fri, 1 Feb 2013 05:18:46 -0800 (PST)
Complaints-To: groups-abuse@google.com
Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=188.39.12.84; posting-account=1vp4OgoAAAB6wqFa98V3ruX67YpJqUim
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <8299680a-6689-4f61-abe8-36ddb6e661cf@googlegroups.com>
Subject: Moving from postgres 8.3 to 9.1 on glassfish 2.1
From: Richard Marshall <richard.marshall@first-utility.com>
Injection-Date: Fri, 01 Feb 2013 13:18:46 +0000
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable
To: pgsql-jdbc@postgresql.org
Hi,
We are trying to update our postgres estate to 9.1 servers from 8.3. I am c=
urrently going through all the systems that connect so that I can start upd=
ating client libraries (I'm hoping to move to the latest 9.2 drivers.) Most=
of the systems so far=20
have been happy moving to the recent libs but I've got stuck at a legacy ap=
plication (so we're not allowed to make any changes to the code..) which is=
running on Glassfish 2.1 with a postgres 8.1-407 library.
I have been able to get the system to run up as far a postgres-8.4.703 libs=
, but the application will not work with any of the 9.X libraries. We see a=
number of stack traces, but essentially it's complaining that it cannot co=
mplete a transaction (see two stack trace heads below). We can see in the s=
ource code that we are setting autocommit=3Dtrue in the connection in the c=
ode but we can;t change this.
It appears behaviour between 8.4 and 9.0+ changed. Is there anyway we can o=
vercome this?
Will and 8.4 driver be safe working with a 9.1 database? (it's currently ru=
nning 8.1 driver against 8.3 database). We have no plans to change the data=
structure when we move to 9.1, it's simply to leverage improved vacuuming, =
replication options, etc.=20
Any help much appreciated!!
Many thanks
Rich
javax.ejb.EJBException: Unable to complete container-managed transaction.; =
nested exception is: javax.transaction.SystemException
javax.transaction.SystemException
at com.sun.enterprise.distributedtx.J2EETransaction.commit(J2EETransaction=
.java:476)
at com.sun.enterprise.distributedtx.J2EETransactionManagerOpt.commit(J2EET=
ransactionManagerOpt.java:371)
at com.sun.ejb.containers.BaseContainer.completeNewTx(BaseContainer.java:3=
792)
at com.sun.ejb.containers.BaseContainer.postInvokeTx(BaseContainer.java:35=
71)
at com.sun.ejb.containers.BaseContainer.postInvoke(BaseContainer.java:1354=
)
at com.sun.ejb.containers.BaseContainer.postInvoke(BaseContainer.java:1316=
)
at com.sun.ejb.containers.EJBObjectInvocationHandler.invoke(EJBObjectInvoc=
ationHandler.java:210)
at com.sun.ejb.containers.EJBObjectInvocationHandler.invoke(EJBObjectInvoc=
ationHandler.java:120)
at $Proxy366.processExpiredSuspendedObservers(Unknown Source)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.ja=
va:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccesso=
rImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at com.sun.corba.ee.impl.presentation.rmi.StubInvocationHandlerImpl.privat=
eInvoke(StubInvocationHandlerImpl.java:233)
at com.sun.corba.ee.impl.presentation.rmi.StubInvocationHandlerImpl.invoke=
(StubInvocationHandlerImpl.java:152)
at com.sun.corba.ee.impl.presentation.rmi.bcel.BCELStubBase.invoke(BCELStu=
bBase.java:225)
|SEVERE|sun-appserver9.1|javax.enterprise.resource.resourceadapter|_ThreadI=
D=3D19;_ThreadName=3Dp: thread-pool-1; w: 7;_RequestID=3D991e1fc7-24e1-4664=
-a92b-4514bc587665;|RAR5031:System Exception.
javax.resource.spi.LocalTransactionException: Cannot commit when autoCommit=
is enabled.
at com.sun.gjc.spi.LocalTransaction.commit(LocalTransaction.java:93)
at com.sun.enterprise.resource.ConnectorXAResource.commit(ConnectorXAResou=
rce.java:114)
at com.sun.enterprise.distributedtx.J2EETransaction.commit(J2EETransaction=
.java:462)
at com.sun.enterprise.distributedtx.J2EETransactionManagerOpt.commit(J2EET=
ransactionManagerOpt.java:371)
at com.sun.ejb.containers.BaseContainer.completeNewTx(BaseContainer.java:3=
792)
at com.sun.ejb.containers.BaseContainer.postInvokeTx(BaseContainer.java:35=
71)
at com.sun.ejb.containers.BaseContainer.postInvoke(BaseContainer.java:1354=
)
at com.sun.ejb.containers.BaseContainer.postInvoke(BaseContainer.java:1316=
)
at com.sun.ejb.containers.EJBObjectInvocationHandler.invoke(EJBObjectInvoc=
ationHandler.java:210)
at com.sun.ejb.containers.EJBObjectInvocationHandler.invoke(EJBObjectInvoc=
ationHandler.java:120)
at $Proxy366.processExpiredSuspendedObservers(Unknown Source)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.ja=
va:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccesso=
rImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at com.sun.corba.ee.impl.presentation.rmi.StubInvocationHandlerImpl.privat=
eInvoke(StubInvocationHandlerImpl.java:233)
at com.sun.corba.ee.impl.presentation.rmi.StubInvocationHandlerImpl.invoke=
(StubInvocationHandlerImpl.java:152)
at com.sun.corba.ee.impl.presentation.rmi.bcel.BCELStubBase.invoke(BCELStu=
bBase.java:225)
--
Sent via pgsql-jdbc mailing list (pgsql-jdbc@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-jdbc