Werner, Do you have a bug id, reference or patch for this bug?

Steve
----- Original Message ----- From: "Werner Guttmann" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Thursday, December 02, 2004 4:27 AM
Subject: Re: [castor-user] [JDO] Key Generator Failure. Duplicated Identity is generated!




Sean,

are you still using Castor 0.9.5.3 ? Afair, this problem has been fixed in
CVS, and will be part of the upcoming 0.9.6 release.

Thanks
Werner

PS The problem fixed is that as a result of an ObjectNotFoundException,
sometimes a lock has not been released.

This might be a bug of castor, please try on your project to see if it
would happen.

I'm using mysql and my mapping file contains something like this:
-------------------------------------
 <key-generator name="HIGH-LOW">
  <param name="table" value="sequence"/>
  <param name="key-column" value="tablename"/>
  <param name="value-column" value="currentid"/>
  <param name="same-connection" value="true"/>
  <param name="grab-size" value="1"/>
 </key-generator>

 <class identity="id" key-generator="HIGH-LOW" name="model.User">
  <map-to xml="user" table="user" />
  <field name="id" type="integer">
   <sql name="id" type="integer" />
  </field>
  <field name="name" type="string">
   <sql name="name" type="varchar" />
  </field>
 </class>

Suppose that current MAX id of user table is 1000, and the following
statments:
-------------------------------------
Integer id = new Integer(1001);
User user = database.load(User.class, id);

will throw an exception:
-------------------------------------
org.exolab.castor.jdo.ObjectNotFoundException: The object of type
model.User with identity 1,001 was not found in persistent storage

After this, new user object could never be created:
-------------------------------------
User user = new User();
user.setName("Sean");
database.create(user);

throws an exception:
-------------------------------------
org.exolab.castor.jdo.LockNotGrantedException: Lock is already existed for
the new oid.
at
org.exolab.castor.persist.LockEngine$TypeInfo.rename(LockEngine.java:1357)
at


org.exolab.castor.persist.LockEngine$TypeInfo.access$400(LockEngine.java:1038)
 at org.exolab.castor.persist.LockEngine.create(LockEngine.java:496)
 at

org.exolab.castor.persist.TransactionContext.create(TransactionContext.java:907)
 at
org.exolab.castor.jdo.engine.DatabaseImpl.create(DatabaseImpl.java:374)
 ...
org.exolab.castor.jdo.PersistenceException: Nested error: Key Generator
Failure. Duplicated Identity is generated!


I searched the Internet and can't find any solution to the exception. Do you have any suggestion? http://hypermail.linklord.com/castor-dev/2004/Apr/4119.html

Thanks,
Sean

-- NEU +++ DSL Komplett von GMX +++ http://www.gmx.net/de/go/dsl GMX DSL-Netzanschluss + Tarif zum superg�nstigen Komplett-Preis!



----------------------------------------------------------- If you wish to unsubscribe from this mailing, send mail to
[EMAIL PROTECTED] with a subject of:
unsubscribe castor-user






----------------------------------------------------------- If you wish to unsubscribe from this mailing, send mail to
[EMAIL PROTECTED] with a subject of:
unsubscribe castor-user

Reply via email to