I have been chasing down an intermittent bug and I'm beginning to suspect 
it's in Orion. I wondered if anyone else may have suspected this problem.

The problem seems to be that very occasionally orion (version 1.4.7) gets 
confused about its cache of entity beans.  To illustrate, here is a snippet 
from a JSP page that I wrote to test this.

         EnvelopeHome envHome = (EnvelopeHome) 
jndi.lookup("java:comp/env/ejb/Envelope");

         for(int k=0; k<4000; ++k){
                 Integer oid = new Integer(k);
                 try {
                         Envelope env = envHome.findByPrimaryKey(oid);
                         if( ! oid.equals( env.getOid() ) ){
                                 out.println("The envelope obtained with 
key "+oid+" thinks its key is "+env.getOid()+"<br>");
                         }
                 }
                 catch( FinderException fe ){
                         // not found is okay
                 }
         }

At the moment, this produces the output:

        The envelope obtained with key 3109 thinks its key is 2957

But as I say, this happens only very occasionally. If I restart the server 
then everything is fine again - for quite a while, anyway.

Other details: the "Envelope" entity is EJB 2.0 type, the primary key is 
set only at creation time, and there is no remote interface method which 
can change the primary key. (I mention this to indicate that I cannot be 
attempting to illegally change the primary key.)

Any thoughts about this?  Is there any way it can be anything but a bug in 
orion?

Thanks,
Nick


Reply via email to