geronimo-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Gianny DAMOUR (JIRA)" <>
Subject [jira] Reopened: (GERONIMO-580) CMP create, remove, and recreate throws org.tranql.cache.DuplicateIdentityException
Date Wed, 02 Mar 2005 14:16:48 GMT
     [ ]
Gianny DAMOUR reopened GERONIMO-580:

The fix does not work in the following scenario:
* the first create generates an INSERT statement;
* the remove generates a DELETE statement; and
* the second create generates an UPDATE statement.

This last operation is wrong in this specific scenarion: an INSERT should be generated instead.

However, in a remove-recreate scenario an UPDATE should be generated.

> CMP create, remove, and recreate throws org.tranql.cache.DuplicateIdentityException
> -----------------------------------------------------------------------------------
>          Key: GERONIMO-580
>          URL:
>      Project: Geronimo
>         Type: Bug
>   Components: OpenEJB
>     Versions: 1.0-M3
>     Reporter: Dain Sundstrom
>     Assignee: Gianny DAMOUR
>      Fix For: 1.0-M4

> Creating a CMP bean removing it and recreating a bean with the same identity in a single
transaction causes tranql to throw a org.tranql.cache.DuplicateIdentityException.  This should
not throw an exception in this case because the previously existing bean has already been
> Further, if the code happens throws this exception for a valid reason, it should not
be propagated back to the client as a system exception; instead the client should get javax.ejb.DuplicateKeyException..
> java.rmi.RemoteException: org.tranql.cache.AlreadyAssociatedException; nested exception
> 	org.tranql.cache.DuplicateIdentityException: org.tranql.cache.AlreadyAssociatedException
> 	at org.openejb.proxy.EJBMethodInterceptor.intercept(
> 	at org.openejb.proxy.EntityEJBHome$$EnhancerByCGLIB$$21abc7d9.create(<generated>)
>         <snip/>
> Caused by: org.tranql.cache.DuplicateIdentityException: org.tranql.cache.AlreadyAssociatedException
> 	at org.tranql.cache.CacheTable.addRow(
> 	at org.openejb.entity.cmp.CMPCreateMethod.execute(
> 	at org.openejb.dispatch.DispatchInterceptor.invoke(
> 	at
> 	at org.openejb.ConnectionTrackingInterceptor.invoke(
> 	at org.openejb.entity.EntityInstanceInterceptor.invoke(
> 	at org.openejb.entity.cmp.InTxCacheInterceptor.invoke(
> 	at org.openejb.transaction.ContainerPolicy$TxRequired.invoke(
> 	at org.openejb.transaction.TransactionContextInterceptor.invoke(
> 	at org.openejb.SystemExceptionInterceptor.invoke(
> 	at org.openejb.GenericEJBContainer.invoke(
> 	at org.openejb.proxy.EJBMethodInterceptor.intercept(
> 	... 31 more
> Caused by: org.tranql.cache.AlreadyAssociatedException
> 	at org.tranql.cache.InTxCache.associate(
> 	at org.tranql.cache.CacheTable.addRow(
> 	... 42 more

This message is automatically generated by JIRA.
If you think it was sent incorrectly contact one of the administrators:
If you want more information on JIRA, or have a bug to report see:

View raw message