X-Original-To: pgsql-jdbc-postgresql.org@localhost.postgresql.org Received: from localhost (unknown [200.46.204.144]) by svr1.postgresql.org (Postfix) with ESMTP id D6B465293D for ; Tue, 19 Jul 2005 07:47:39 -0300 (ADT) Received: from svr1.postgresql.org ([200.46.204.71]) by localhost (av.hub.org [200.46.204.144]) (amavisd-new, port 10024) with ESMTP id 89373-10 for ; Tue, 19 Jul 2005 10:47:29 +0000 (GMT) Received: from zproxy.gmail.com (zproxy.gmail.com [64.233.162.192]) by svr1.postgresql.org (Postfix) with ESMTP id DF452528CB for ; Tue, 19 Jul 2005 07:47:27 -0300 (ADT) Received: by zproxy.gmail.com with SMTP id 40so1123086nzk for ; Tue, 19 Jul 2005 03:47:30 -0700 (PDT) DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=beta; d=gmail.com; h=received:message-id:date:from:reply-to:to:subject:cc:in-reply-to:mime-version:content-type:content-transfer-encoding:content-disposition:references; b=pkLluV5KuyI8DIYSTrOdorats5pSUoC+sXflCxSyiTp+tVpXDAELehQ8SddhzfsmqOtcpUIyG3m7x5RCwg6BqG20oV0Xe1GG5YXvcGNT2lvLpEsz+Rz1jsy7dVNMwfEfRDhdnPbUWtR02D3KA4xhDF85UuaneyESbb6ZEzVzp9g= Received: by 10.36.119.17 with SMTP id r17mr4271187nzc; Tue, 19 Jul 2005 03:47:00 -0700 (PDT) Received: by 10.36.221.58 with HTTP; Tue, 19 Jul 2005 03:47:00 -0700 (PDT) Message-ID: Date: Tue, 19 Jul 2005 12:47:00 +0200 From: im i Reply-To: im i To: Senthoorkumaran Punniamoorthy Subject: Re: org.postgresql.util.PSQLException: ERROR: current transaction is aborted, commands ignored until end of transaction block Cc: pgsql-jdbc@postgresql.org In-Reply-To: <4ea55c3305071901563ca33cb8@mail.gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Content-Disposition: inline References: <4ea55c3305071901563ca33cb8@mail.gmail.com> X-Virus-Scanned: by amavisd-new at hub.org X-Spam-Status: No, hits=0.024 tagged_above=0 required=5 tests=RCVD_BY_IP X-Spam-Level: X-Archive-Number: 200507/118 X-Sequence-Number: 13266 Hi, (Sorry my english.) I think, the problem is not in query. There is other statement what corrupt the transaction before query, example insert or update. The postgres 8. solve the problem with savepoint, you can create savepoint before critical statement and when error occured you need rollback to savepoint: http://www.postgresql.org/docs/8.0/interactive/sql-savepoint.html When you catch exception then the transaction is corrupt alredy. try { savepointName =3D this.getClass().getName() + "-" + this.getClass().hashCode(); savePoint =3D conn.setSavepoint(savepointName); stmt.execute(); } catch (SQLException sqle) { conn.rollback(savePoint); } linimi On 7/19/05, Senthoorkumaran Punniamoorthy wrote: > We are using postgres as our DB for our application based on EJB. I am > using the pg74.216.jdbc3.jar driver. >=20 > one of the EJB-QL in the finder method translates to a query in JBoss as >=20 > Executing SQL: SELECT t0_o.userId, t0_o.deviceId FROM rcp_user_device > t0_o WHERE (t0_o.userId =3D ?) >=20 > This query works on the postgres command line interface fine. >=20 > SELECT t0_o.userId, t0_o.deviceId BEING_VAULT=3D# SELECT t0_o.userId, > t0_o.deviceId FROM rcp_user_device t0_o WHERE (t0_o.userId =3D > '94773059650') > BEING_VAULT-# ; > userid | deviceid > -------------+----------------- > 94773059650 | 351532002206818 > (1 row) >=20 > However JDBC driver is rasing an exception, and below is the stack trace. >=20 > 2005-07-19 12:14:54,506 DEBUG > [org.jboss.ejb.plugins.cmp.jdbc.JDBCEJBQLQuery.UserDeviceEntityBean#findA= llByUser] > Executing SQL: SELECT t0_o.userId, t0_o.deviceId FROM rcp_user_device > t0_o WHERE (t0_o.userId =3D ?) > 2005-07-19 12:14:54,509 ERROR > [org.jboss.ejb.plugins.cmp.jdbc.JDBCEJBQLQuery.UserDeviceEntityBean#findA= llByUser] > Find failed > org.postgresql.util.PSQLException: ERROR: current transaction is > aborted, commands ignored until end of transaction block >=20 > at org.postgresql.util.PSQLException.parseServerError(PSQLExcepti= on.java:139) > at org.postgresql.core.QueryExecutor.executeV3(QueryExecutor.java= :152) > at org.postgresql.core.QueryExecutor.execute(QueryExecutor.java:1= 00) > at org.postgresql.core.QueryExecutor.execute(QueryExecutor.java:4= 3) > at org.postgresql.jdbc1.AbstractJdbc1Statement.execute(AbstractJd= bc1Statement.java:517) > at org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJd= bc2Statement.java:50) > at org.postgresql.jdbc1.AbstractJdbc1Statement.executeQuery(Abstr= actJdbc1Statement.java:233) > at org.jboss.resource.adapter.jdbc.WrappedPreparedStatement.execu= teQuery(WrappedPreparedStatement.java:296) > at org.jboss.ejb.plugins.cmp.jdbc.JDBCAbstractQueryCommand.execut= e(JDBCAbstractQueryCommand.java:228) > at org.jboss.ejb.plugins.cmp.jdbc.JDBCAbstractQueryCommand.execut= e(JDBCAbstractQueryCommand.java:128) > at org.jboss.ejb.plugins.cmp.jdbc.JDBCFindEntitiesCommand.execute= (JDBCFindEntitiesCommand.java:40) > at org.jboss.ejb.plugins.cmp.jdbc.JDBCStoreManager.findEntities(J= DBCStoreManager.java:598) > at org.jboss.ejb.plugins.CMPPersistenceManager.findEntities(CMPPe= rsistenceManager.java:322) > at org.jboss.resource.connectionmanager.CachedConnectionIntercept= or.findEntities(CachedConnectionInterceptor.java:321) > at org.jboss.ejb.EntityContainer.findLocal(EntityContainer.java:6= 49) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccess= orImpl.java:39) > at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMeth= odAccessorImpl.java:25) > at java.lang.reflect.Method.invoke(Method.java:324) > at org.jboss.invocation.Invocation.performCall(Invocation.java:34= 5) > at org.jboss.ejb.EntityContainer$ContainerInterceptor.invokeHome(= EntityContainer.java:1113) > at org.jboss.ejb.plugins.AbstractInterceptor.invokeHome(AbstractI= nterceptor.java:90) > at org.jboss.ejb.plugins.EntitySynchronizationInterceptor.invokeH= ome(EntitySynchronizationInterceptor.java:192) > at org.jboss.resource.connectionmanager.CachedConnectionIntercept= or.invokeHome(CachedConnectionInterceptor.java:212) > at org.jboss.ejb.plugins.AbstractInterceptor.invokeHome(AbstractI= nterceptor.java:90) > at org.jboss.ejb.plugins.EntityInstanceInterceptor.invokeHome(Ent= ityInstanceInterceptor.java:117) > at org.jboss.ejb.plugins.EntityLockInterceptor.invokeHome(EntityL= ockInterceptor.java:61) > at org.jboss.ejb.plugins.EntityCreationInterceptor.invokeHome(Ent= ityCreationInterceptor.java:28) > at org.jboss.ejb.plugins.CallValidationInterceptor.invokeHome(Cal= lValidationInterceptor.java:41) > at org.jboss.ejb.plugins.AbstractTxInterceptor.invokeNext(Abstrac= tTxInterceptor.java:109) > at org.jboss.ejb.plugins.TxInterceptorCMT.runWithTransactions(TxI= nterceptorCMT.java:335) > at org.jboss.ejb.plugins.TxInterceptorCMT.invokeHome(TxIntercepto= rCMT.java:146) > at org.jboss.ejb.plugins.SecurityInterceptor.invokeHome(SecurityI= nterceptor.java:116) > at org.jboss.ejb.plugins.LogInterceptor.invokeHome(LogInterceptor= .java:121) > at org.jboss.ejb.plugins.ProxyFactoryFinderInterceptor.invokeHome= (ProxyFactoryFinderInterceptor.java:93) > at org.jboss.ejb.EntityContainer.internalInvokeHome(EntityContain= er.java:508) > at org.jboss.ejb.Container.invoke(Container.java:894) > at org.jboss.ejb.plugins.local.BaseLocalProxyFactory.invokeHome(B= aseLocalProxyFactory.java:342) > at org.jboss.ejb.plugins.local.LocalHomeProxy.invoke(LocalHomePro= xy.java:118) > at $Proxy279.findAllByUser(Unknown Source) > at com.purpleace.ripple.contacts.ejb.session.UnsubscriptionSessio= nBean.deleteUserDevices(UnsubscriptionSessionBean.java:176) > at com.purpleace.ripple.contacts.ejb.session.UnsubscriptionSessio= nBean.unsubscribe(UnsubscriptionSessionBean.java:147) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccess= orImpl.java:39) > at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMeth= odAccessorImpl.java:25) > at java.lang.reflect.Method.invoke(Method.java:324) > at org.jboss.invocation.Invocation.performCall(Invocation.java:34= 5) > at org.jboss.ejb.StatelessSessionContainer$ContainerInterceptor.i= nvoke(StatelessSessionContainer.java:214) > at org.jboss.resource.connectionmanager.CachedConnectionIntercept= or.invoke(CachedConnectionInterceptor.java:185) > at org.jboss.ejb.plugins.StatelessSessionInstanceInterceptor.invo= ke(StatelessSessionInstanceInterceptor.java:130) > at org.jboss.webservice.server.ServiceEndpointInterceptor.invoke(= ServiceEndpointInterceptor.java:51) > at org.jboss.ejb.plugins.CallValidationInterceptor.invoke(CallVal= idationInterceptor.java:48) > at org.jboss.ejb.plugins.AbstractTxInterceptor.invokeNext(Abstrac= tTxInterceptor.java:105) > at org.jboss.ejb.plugins.TxInterceptorCMT.runWithTransactions(TxI= nterceptorCMT.java:335) > at org.jboss.ejb.plugins.TxInterceptorCMT.invoke(TxInterceptorCMT= .java:166) > at org.jboss.ejb.plugins.SecurityInterceptor.invoke(SecurityInter= ceptor.java:139) > at org.jboss.ejb.plugins.LogInterceptor.invoke(LogInterceptor.jav= a:192) > at org.jboss.ejb.plugins.ProxyFactoryFinderInterceptor.invoke(Pro= xyFactoryFinderInterceptor.java:122) > at org.jboss.ejb.SessionContainer.internalInvoke(SessionContainer= .java:624) > at org.jboss.ejb.Container.invoke(Container.java:873) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccess= orImpl.java:39) > at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMeth= odAccessorImpl.java:25) > at java.lang.reflect.Method.invoke(Method.java:324) > at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedD= ispatcher.java:141) > at org.jboss.mx.server.Invocation.dispatch(Invocation.java:80) > at org.jboss.mx.server.Invocation.invoke(Invocation.java:72) > at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanI= nvoker.java:249) > at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.jav= a:644) > at org.jboss.invocation.local.LocalInvoker$MBeanServerAction.invo= ke(LocalInvoker.java:155) > at org.jboss.invocation.local.LocalInvoker.invoke(LocalInvoker.ja= va:104) > at org.jboss.invocation.InvokerInterceptor.invokeLocal(InvokerInt= erceptor.java:179) > at org.jboss.invocation.InvokerInterceptor.invoke(InvokerIntercep= tor.java:165) > at org.jboss.proxy.TransactionInterceptor.invoke(TransactionInter= ceptor.java:46) > at org.jboss.proxy.SecurityInterceptor.invoke(SecurityInterceptor= .java:55) > at org.jboss.proxy.ejb.StatelessSessionInterceptor.invoke(Statele= ssSessionInterceptor.java:97) > at org.jboss.proxy.ClientContainer.invoke(ClientContainer.java:86= ) > at $Proxy379.unsubscribe(Unknown Source) > at com.purpleace.ripple.contacts.ejb.session.MsisdnUpdaterSession= Bean.removeOldUser(MsisdnUpdaterSessionBean.java:248) > at com.purpleace.ripple.contacts.ejb.session.MsisdnUpdaterSession= Bean.updateWhereUserIdEqualsMsisdn(MsisdnUpdaterSessionBean.java:231) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccess= orImpl.java:39) > at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMeth= odAccessorImpl.java:25) > at java.lang.reflect.Method.invoke(Method.java:324) > at org.jboss.invocation.Invocation.performCall(Invocation.java:34= 5) > at org.jboss.ejb.StatelessSessionContainer$ContainerInterceptor.i= nvoke(StatelessSessionContainer.java:214) > at org.jboss.resource.connectionmanager.CachedConnectionIntercept= or.invoke(CachedConnectionInterceptor.java:185) > at org.jboss.ejb.plugins.StatelessSessionInstanceInterceptor.invo= ke(StatelessSessionInstanceInterceptor.java:130) > at org.jboss.webservice.server.ServiceEndpointInterceptor.invoke(= ServiceEndpointInterceptor.java:51) > at org.jboss.ejb.plugins.CallValidationInterceptor.invoke(CallVal= idationInterceptor.java:48) > at org.jboss.ejb.plugins.AbstractTxInterceptor.invokeNext(Abstrac= tTxInterceptor.java:105) > at org.jboss.ejb.plugins.TxInterceptorCMT.runWithTransactions(TxI= nterceptorCMT.java:335) > at org.jboss.ejb.plugins.TxInterceptorCMT.invoke(TxInterceptorCMT= .java:166) > at org.jboss.ejb.plugins.SecurityInterceptor.invoke(SecurityInter= ceptor.java:139) > at org.jboss.ejb.plugins.LogInterceptor.invoke(LogInterceptor.jav= a:192) > at org.jboss.ejb.plugins.ProxyFactoryFinderInterceptor.invoke(Pro= xyFactoryFinderInterceptor.java:122) > at org.jboss.ejb.SessionContainer.internalInvoke(SessionContainer= .java:624) > at org.jboss.ejb.Container.invoke(Container.java:873) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccess= orImpl.java:39) > at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMeth= odAccessorImpl.java:25) > at java.lang.reflect.Method.invoke(Method.java:324) > at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedD= ispatcher.java:141) > at org.jboss.mx.server.Invocation.dispatch(Invocation.java:80) > at org.jboss.mx.server.Invocation.invoke(Invocation.java:72) > at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanI= nvoker.java:249) > at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.jav= a:644) > at org.jboss.invocation.local.LocalInvoker$MBeanServerAction.invo= ke(LocalInvoker.java:155) > at org.jboss.invocation.local.LocalInvoker.invoke(LocalInvoker.ja= va:104) > at org.jboss.invocation.InvokerInterceptor.invokeLocal(InvokerInt= erceptor.java:179) > at org.jboss.invocation.InvokerInterceptor.invoke(InvokerIntercep= tor.java:165) > at org.jboss.proxy.TransactionInterceptor.invoke(TransactionInter= ceptor.java:46) > at org.jboss.proxy.SecurityInterceptor.invoke(SecurityInterceptor= .java:55) > at org.jboss.proxy.ejb.StatelessSessionInterceptor.invoke(Statele= ssSessionInterceptor.java:97) > at org.jboss.proxy.ClientContainer.invoke(ClientContainer.java:86= ) > at $Proxy361.updateWhereUserIdEqualsMsisdn(Unknown Source) > at com.purpleace.ripple.contacts.serviceinterface.facade.ChangeMs= isdnFacade.changeMsisdn(ChangeMsisdnFacade.java:44) > at com.purpleace.ripple.contacts.web.servlets.ChangeMsisdnServele= t.controller(ChangeMsisdnServelet.java:166) > at com.purpleace.ripple.contacts.web.servlets.ChangeMsisdnServele= t.newHandleRequest(ChangeMsisdnServelet.java:78) > at com.purpleace.ripple.contacts.web.servlets.ChangeMsisdnServele= t.doPost(ChangeMsisdnServelet.java:61) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:810) > at org.apache.catalina.core.ApplicationFilterChain.internalDoFilt= er(ApplicationFilterChain.java:252) > at org.apache.catalina.core.ApplicationFilterChain.doFilter(Appli= cationFilterChain.java:173) > at org.apache.catalina.core.ApplicationDispatcher.invoke(Applicat= ionDispatcher.java:672) > at org.apache.catalina.core.ApplicationDispatcher.processRequest(= ApplicationDispatcher.java:463) > at org.apache.catalina.core.ApplicationDispatcher.doForward(Appli= cationDispatcher.java:398) > at org.apache.catalina.core.ApplicationDispatcher.forward(Applica= tionDispatcher.java:301) > at com.purpleace.ripple.contacts.web.servlets.RippleServlet.contr= oller(RippleServlet.java:271) > at com.purpleace.ripple.contacts.web.servlets.RippleServlet.parse= String(RippleServlet.java:425) > at com.purpleace.ripple.contacts.web.servlets.RippleServlet.handl= eRequest(RippleServlet.java:124) > at com.purpleace.ripple.contacts.web.servlets.RippleServlet.doPos= t(RippleServlet.java:70) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:810) > at org.apache.catalina.core.ApplicationFilterChain.internalDoFilt= er(ApplicationFilterChain.java:252) > at org.apache.catalina.core.ApplicationFilterChain.doFilter(Appli= cationFilterChain.java:173) > at com.purpleace.ripple.contacts.web.filters.GlobalFilter.doFilte= r(GlobalFilter.java:37) > at org.apache.catalina.core.ApplicationFilterChain.internalDoFilt= er(ApplicationFilterChain.java:202) > at org.apache.catalina.core.ApplicationFilterChain.doFilter(Appli= cationFilterChain.java:173) > at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyH= eaderFilter.java:81) > at org.apache.catalina.core.ApplicationFilterChain.internalDoFilt= er(ApplicationFilterChain.java:202) > at org.apache.catalina.core.ApplicationFilterChain.doFilter(Appli= cationFilterChain.java:173) > at org.apache.catalina.core.StandardWrapperValve.invoke(StandardW= rapperValve.java:213) > at org.apache.catalina.core.StandardContextValve.invoke(StandardC= ontextValve.java:178) > at org.jboss.web.tomcat.security.CustomPrincipalValve.invoke(Cust= omPrincipalValve.java:39) > at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(= SecurityAssociationValve.java:153) > at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccCont= extValve.java:59) > at org.apache.catalina.core.StandardHostValve.invoke(StandardHost= Valve.java:126) > at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReport= Valve.java:105) > at org.apache.catalina.core.StandardEngineValve.invoke(StandardEn= gineValve.java:107) > at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdap= ter.java:148) > at org.apache.coyote.http11.Http11Processor.process(Http11Process= or.java:856) > at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandle= r.processConnection(Http11Protocol.java:744) > at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolT= cpEndpoint.java:527) > at org.apache.tomcat.util.net.MasterSlaveWorkerThread.run(MasterS= laveWorkerThread.java:112) > at java.lang.Thread.run(Thread.java:534) >=20 > Can you help me identify this issue? >=20 > Regards, > Senthoor >=20 > ---------------------------(end of broadcast)--------------------------- > TIP 5: don't forget to increase your free space map settings >