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

Thomas Lien updated OPENEJB-2137:
---------------------------------
    Description: 
Running into a situation where calling a BMP finder method that returns more 
than 256 entities causes subsequent finders to fail. The scenario goes like 
this.

An EJB2 session bean (FinderTest) calls two finder methods for BMPs. The first 
finder (BigFinder) returns multiple entities. The second finder (LittleFinder) 
returns just 1 entity. If BigFinder returns more than 256 entities, the second 
finder (LittleFinder) will return BigFinder objects instead of the LittleFinder 
objects that it should! If BigFinder returns 256 entities or less everything 
works like it should.

I can replicate this 100% of the time by deploying the attached ztest.ear 
application and running the FinderTestBean.main function. I have tried this on 
TomEE versions 1.7.3 and 7.0.5 and they both have the error.

The error output of my test is as follows

09-07 12:25:13 [SEVERE] EjbTransactionUtil.handleSystemException: Failed with 
257 records. LittleFinder Remote is actually com.sun.proxy.$Proxy142 
Implemented interfaces [interface ztest.BigFinder, interface 
java.io.Serializable, interface org.apache.openejb.core.ivm.IntraVmProxy] 
Primary key value is 1

  was:
Running into a situation where calling a BMP finder method that returns more 
than 256 entities causes subsequent finders to fail. The scenario goes like 
this.

An EJB2 session bean (FinderTest) calls two finder methods for BMPs. The first 
finder (BigFinder) returns multiple records. The second finder (LittleFinder) 
returns just 1 record. If BigFinder returns more than 256 records, the second 
finder (LittleFinder) will return BigFinder remote objects instead of the 
LittleFinder remote objects that it should! If BigFinder returns 256 entities 
or less everything works like it should.

I can replicate this 100% of the time by deploying the attached ztest.ear 
application and running the FinderTestBean.main function. I have tried this on 
TomEE versions 1.7.3 and 7.0.5 and they both have the error.

The error output of my test is as follows

09-07 12:25:13 [SEVERE] EjbTransactionUtil.handleSystemException: Failed with 
257 records. LittleFinder Remote is actually com.sun.proxy.$Proxy142 
Implemented interfaces [interface ztest.BigFinder, interface 
java.io.Serializable, interface org.apache.openejb.core.ivm.IntraVmProxy] 
Primary key value is 1


> FinderError returning more than 256 entites from ejb2 finder
> ------------------------------------------------------------
>
>                 Key: OPENEJB-2137
>                 URL: https://issues.apache.org/jira/browse/OPENEJB-2137
>             Project: OpenEJB
>          Issue Type: Bug
>          Components: general
>         Environment: Windows 10 64 bit
>            Reporter: Thomas Lien
>            Priority: Major
>         Attachments: sourcecode.zip, ztest.ear.zip
>
>
> Running into a situation where calling a BMP finder method that returns more 
> than 256 entities causes subsequent finders to fail. The scenario goes like 
> this.
> An EJB2 session bean (FinderTest) calls two finder methods for BMPs. The 
> first finder (BigFinder) returns multiple entities. The second finder 
> (LittleFinder) returns just 1 entity. If BigFinder returns more than 256 
> entities, the second finder (LittleFinder) will return BigFinder objects 
> instead of the LittleFinder objects that it should! If BigFinder returns 256 
> entities or less everything works like it should.
> I can replicate this 100% of the time by deploying the attached ztest.ear 
> application and running the FinderTestBean.main function. I have tried this 
> on TomEE versions 1.7.3 and 7.0.5 and they both have the error.
> The error output of my test is as follows
> 09-07 12:25:13 [SEVERE] EjbTransactionUtil.handleSystemException: Failed with 
> 257 records. LittleFinder Remote is actually com.sun.proxy.$Proxy142 
> Implemented interfaces [interface ztest.BigFinder, interface 
> java.io.Serializable, interface org.apache.openejb.core.ivm.IntraVmProxy] 
> Primary key value is 1



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to