Sean,
I just noticed myself that bug 1097 has been closed yet. Please see my other
reply on this subject wrt to a request for help.
Regards
Werner
On Fri, 3 Dec 2004 10:36:39 +0800, Sean Liang wrote:
>Werner,
>
>I'm afraid this problem is not fixed completely since the version I'm using is
>built from CVS. Would you please have a try?
>
>Thanks,
>Sean
>
>----- Original Message -----
>Sent: Thursday, December 02, 2004 5:27 PM
>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