geronimo-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Joe Bohn (JIRA)" <j...@apache.org>
Subject [jira] Updated: (GERONIMO-3907) Persistence Exception is not visible/lost for client.
Date Wed, 04 Mar 2009 18:33:56 GMT

     [ https://issues.apache.org/jira/browse/GERONIMO-3907?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Joe Bohn updated GERONIMO-3907:
-------------------------------

    Priority: Minor  (was: Blocker)

I have updated the status of this problem to "minor" from "blocker" because it appears that
the original issue (no error returned) has been resolved.  The remaining issue seems to be
the detail of the error reported.   Are there any additional enhancements planned for this
JIRA in this area?  If not, we should close this issue.  Actually, since the core problem
has been resolved we should perhaps close the issue and open a new issue requesting the enhancement.
 If there are no additional enhancements planned for Geronimo 2.1.4 we should remove it from
the fix versions.  It appears that the original problem was fixed in 2.1.1.

> Persistence Exception is not visible/lost for client. 
> ------------------------------------------------------
>
>                 Key: GERONIMO-3907
>                 URL: https://issues.apache.org/jira/browse/GERONIMO-3907
>             Project: Geronimo
>          Issue Type: Bug
>      Security Level: public(Regular issues) 
>          Components: persistence
>    Affects Versions: 2.0.2, 2.1
>         Environment: Linux, Windows
>            Reporter: Ralf Baumhof
>            Assignee: David Jencks
>            Priority: Minor
>             Fix For: 2.1.4, 2.2
>
>   Original Estimate: 0.08h
>  Remaining Estimate: 0.08h
>
> I am trying an insert on a table. The Entity class is wrong annotated, one column was
renamed in the table. Then the following situation occurs.  
> The call to persist(entity) is successfully, no exception is thrown. On leaving the ejb
container and returning to tomact a commit is performed (it's a managed datasource, so container
performs commit). This leads to the insert on database. This insert fails, a rollback is performed.
On return to the JSF bean no exception can be seen by the bean. In the same class i have got
a query method. If i replace the call to persist with the call to the query method everything
works ok. The exception is thrown and is visible at the client site. 
> This is the geronimo console output. The last line comes from the JSB bean which reports
a successful insert.
> 11:58:04,390 WARN  [Transaction] Unexpected exception from beforeCompletion; transaction
will roll back
> <openjpa-1.0.1-r420667:592145 fatal general error> org.apache.openjpa.persistence.PersistenceException:
The transaction has been rolled back.  See the nested exceptions for details on the errors
that occurred.
>         at org.apache.openjpa.kernel.BrokerImpl.newFlushException(BrokerImpl.java:2107)
>         at org.apache.openjpa.kernel.BrokerImpl.flush(BrokerImpl.java:1954)
>         at org.apache.openjpa.kernel.BrokerImpl.flushSafe(BrokerImpl.java:1852)
>         at org.apache.openjpa.kernel.BrokerImpl.beforeCompletion(BrokerImpl.java:1770)
>         at org.apache.geronimo.transaction.manager.TransactionImpl.beforeCompletion(TransactionImpl.java:514)
>         at org.apache.geronimo.transaction.manager.TransactionImpl.beforeCompletion(TransactionImpl.java:499)
>         at org.apache.geronimo.transaction.manager.TransactionImpl.beforePrepare(TransactionImpl.java:400)
>         at org.apache.geronimo.transaction.manager.TransactionImpl.commit(TransactionImpl.java:257)
>         at org.apache.geronimo.transaction.manager.TransactionManagerImpl.commit(TransactionManagerImpl.java:245)
>         at org.apache.openejb.core.transaction.TransactionPolicy.commitTransaction(TransactionPolicy.java:141)
>         at org.apache.openejb.core.transaction.TxRequired.afterInvoke(TxRequired.java:75)
>         at org.apache.openejb.core.stateless.StatelessContainer._invoke(StatelessContainer.java:233)
>         at org.apache.openejb.core.stateless.StatelessContainer._invoke(StatelessContainer.java:188)
>         at org.apache.openejb.core.stateless.StatelessContainer.invoke(StatelessContainer.java:165)
>         at org.apache.openejb.core.ivm.EjbObjectProxyHandler.businessMethod(EjbObjectProxyHandler.java:217)
>         at org.apache.openejb.core.ivm.EjbObjectProxyHandler._invoke(EjbObjectProxyHandler.java:77)
>         at org.apache.openejb.core.ivm.BaseEjbProxyHandler.invoke(BaseEjbProxyHandler.java:321)
>         at org.apache.openejb.util.proxy.Jdk13InvocationHandler.invoke(Jdk13InvocationHandler.java:49)
>         at $Proxy75.anlegenBenutzer(Unknown Source)
>         at de.nrw.hagen.ggrz.benutzer.controler.BenutzerControler.anlegenBenutzer(BenutzerControler.java:44)
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>         at java.lang.reflect.Method.invoke(Method.java:585)
>         at org.apache.el.parser.AstValue.invoke(AstValue.java:131)
>         at org.apache.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:276)
>         at org.apache.jasper.el.JspMethodExpression.invoke(JspMethodExpression.java:68)
>         at javax.faces.component._MethodExpressionToMethodBinding.invoke(_MethodExpressionToMethodBinding.java:75)
>         at org.apache.myfaces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:54)
>         at javax.faces.component.UICommand.broadcast(UICommand.java:121)
>         at javax.faces.component.UIViewRoot._broadcastForPhase(UIViewRoot.java:292)
>         at javax.faces.component.UIViewRoot.process(UIViewRoot.java:209)
>         at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:117)
>         at org.apache.myfaces.lifecycle.InvokeApplicationExecutor.execute(InvokeApplicationExecutor.java:32)
>         at org.apache.myfaces.lifecycle.LifecycleImpl.executePhase(LifecycleImpl.java:103)
>         at org.apache.myfaces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:76)
>         at javax.faces.webapp.FacesServlet.service(FacesServlet.java:148)
>         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
>         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
>         at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
>         at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
>         at org.apache.geronimo.tomcat.valve.DefaultSubjectValve.invoke(DefaultSubjectValve.java:56)
>         at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:525)
>         at org.apache.geronimo.tomcat.GeronimoStandardContext$SystemMethodValve.invoke(GeronimoStandardContext.java:396)
>         at org.apache.geronimo.tomcat.valve.GeronimoBeforeAfterValve.invoke(GeronimoBeforeAfterValve.java:47)
>         at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
>         at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
>         at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
>         at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:563)
>         at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:263)
>         at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
>         at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:584)
>         at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
>         at java.lang.Thread.run(Thread.java:595)
> Caused by: <openjpa-1.0.1-r420667:592145 nonfatal general error> org.apache.openjpa.persistence.PersistenceException:
FEHLER: Spalte »letzte_benutzer_gruppe« von Relation »benutzer« existiert nicht {prepstmnt
17230170 INSERT INTO vesuv.benutzer (id, anzahl_anmeldeversuche, anzahl_anmeldungen, benutzer_kennung,
datum_letzte_passwort_aenderung, email_anlage, historie_fk, ist_gesperrt, ist_gesperrt_seit,
kostenbefreiung_online_auskunft, letzte_benutzer_gruppe, letzter_anmeldeversuch, passwort_fehlversuche_zaehler,
passwort_historie, passwort_sha256hash, passwort_wechsel_erst_anmeldung, person_info, sperrgrund,
verknuepft_mit, zuletzt_angemeldet_am) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?,
?, ?, ?, ?, ?) [params=(long) 31, (long) 0, (long) 0, (String) a, (Timestamp) 1970-01-01 01:00:00.0,
(boolean) false, (long) 0, (boolean) false, (Timestamp) 1970-01-01 01:00:00.0, (boolean) false,
(long) 0, (Timestamp) 3908-03-21 10:22:00.0, (long) 0, (String) nixx, (String) b, (boolean)
false, (long) 0, (String) keiner, (long) 1, (Timestamp) 3908-03-21 10:22:00.0]} [code=0, state=42703]
> FailedObject: de.nrw.hagen.ggrz.bv.benutzer.db.BenutzerPAO@8b394
>         at org.apache.openjpa.jdbc.sql.DBDictionary.newStoreException(DBDictionary.java:3938)
>         at org.apache.openjpa.jdbc.sql.SQLExceptions.getStore(SQLExceptions.java:97)
>         at org.apache.openjpa.jdbc.sql.SQLExceptions.getStore(SQLExceptions.java:67)
>         at org.apache.openjpa.jdbc.kernel.PreparedStatementManagerImpl.flushInternal(PreparedStatementManagerImpl.java:108)
>         at org.apache.openjpa.jdbc.kernel.PreparedStatementManagerImpl.flush(PreparedStatementManagerImpl.java:73)
>         at org.apache.openjpa.jdbc.kernel.OperationOrderUpdateManager.flushPrimaryRow(OperationOrderUpdateManager.java:203)
>         at org.apache.openjpa.jdbc.kernel.OperationOrderUpdateManager.flush(OperationOrderUpdateManager.java:89)
>         at org.apache.openjpa.jdbc.kernel.AbstractUpdateManager.flush(AbstractUpdateManager.java:89)
>         at org.apache.openjpa.jdbc.kernel.AbstractUpdateManager.flush(AbstractUpdateManager.java:72)
>         at org.apache.openjpa.jdbc.kernel.JDBCStoreManager.flush(JDBCStoreManager.java:514)
>         at org.apache.openjpa.kernel.DelegatingStoreManager.flush(DelegatingStoreManager.java:130)
>         ... 53 more
> Caused by: org.apache.openjpa.lib.jdbc.ReportingSQLException: FEHLER: Spalte »letzte_benutzer_gruppe«
von Relation »benutzer« existiert nicht {prepstmnt 17230170 INSERT INTO vesuv.benutzer (id,
anzahl_anmeldeversuche, anzahl_anmeldungen, benutzer_kennung, datum_letzte_passwort_aenderung,
email_anlage, historie_fk, ist_gesperrt, ist_gesperrt_seit, kostenbefreiung_online_auskunft,
letzte_benutzer_gruppe, letzter_anmeldeversuch, passwort_fehlversuche_zaehler, passwort_historie,
passwort_sha256hash, passwort_wechsel_erst_anmeldung, person_info, sperrgrund, verknuepft_mit,
zuletzt_angemeldet_am) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
[params=(long) 31, (long) 0, (long) 0, (String) a, (Timestamp) 1970-01-01 01:00:00.0, (boolean)
false, (long) 0, (boolean) false, (Timestamp) 1970-01-01 01:00:00.0, (boolean) false, (long)
0, (Timestamp) 3908-03-21 10:22:00.0, (long) 0, (String) nixx, (String) b, (boolean) false,
(long) 0, (String) keiner, (long) 1, (Timestamp) 3908-03-21 10:22:00.0]} [code=0, state=42703]
>         at org.apache.openjpa.lib.jdbc.LoggingConnectionDecorator.wrap(LoggingConnectionDecorator.java:192)
>         at org.apache.openjpa.lib.jdbc.LoggingConnectionDecorator.access$800(LoggingConnectionDecorator.java:57)
>         at org.apache.openjpa.lib.jdbc.LoggingConnectionDecorator$LoggingConnection$LoggingPreparedStatement.executeUpdate(LoggingConnectionDecorator.java:858)
>         at org.apache.openjpa.lib.jdbc.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:269)
>         at org.apache.openjpa.lib.jdbc.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:269)
>         at org.apache.openjpa.jdbc.kernel.JDBCStoreManager$CancelPreparedStatement.executeUpdate(JDBCStoreManager.java:1363)
>         at org.apache.openjpa.jdbc.kernel.PreparedStatementManagerImpl.flushInternal(PreparedStatementManagerImpl.java:97)
>         ... 60 more
> [de.nrw.hagen.ggrz.benutzer.controler.BenutzerControler] >> $$Success from neuer
Benutzer = true

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message