[prev in list] [next in list] [prev in thread] [next in thread] 

List:       ojb-user
Subject:    Re: OJB 1.0.1 ODMJ: weird update behaviour
From:       Ashish Rangole <ashish.rangole () vexcel ! com>
Date:       2005-09-29 17:55:59
Message-ID: 433C2AAF.7060505 () vexcel ! com
[Download RAW message or body]

Armin,

Yes, it is mostly the same objects. It is reproducible at one of
our customer's installation and for now we have a workaround by
updating one object at a time in separate transactions. We can live with
this workaround for now because it is not a frequent operation and also
not very time critical. I have to simulate the same environment
here to reproduce it.

Pseudo code:
Get a OJB instance
Open Database connection READ_WRITE
Open Transaction  odmg.newTransaction()
Begin Transaction
  Retrieve all objects of class A by PB QueryByCriteria 
    CRITERIA_SELECT_ALL
  For each object retrieved
   do
    Write-Lock each object for update Transaction.UPGRADE
    Change value of attribute X
   done
Commit Transaction
Close Database

I can not see the problem when the number of objects of class A
is small. Currently the problem is seen when the number objects is ~250.
For some objects, spy.log doesn't show the UPDATE sql statements.


Thanks for your help.

Regards
Ashish

Armin Waibel wrote:
> Ashish Rangole wrote:
> 
>> Armin,
>>
>> batch mode = false in my configuration.
>>
> 
> Really strange, never perceived such a behavior in OJB. Is it 
> reproduceable, did you lost always the same objects?
> Could you send me a test or some pseudo code describing the problem?
> 
> regards,
> Armin
> 
> 
>> Thanks
>> Ashish
>>
>> Armin Waibel wrote:
>>
>>> Ashish Rangole wrote:
>>>
>>>>> Is the field type the same for all modified classes? Maybe OJB has 
>>>>> problems to detect the changed field. You could try to change the 
>>>>> object state by yourself using OJB's odmg extensions via 
>>>>> TransactionExt#markDirty.
>>>>> http://db.apache.org/ojb/docu/guides/odmg-guide.html#OJB+Extensions+of+ODMG 
>>>>>
>>>>> (this link is for >=1.0.3 but #markDirty exists in 1.0.1 too - AFAIK)
>>>>
>>>>
>>>>
>>>>
>>>>  Yes the field is same for all modified objects which are of same 
>>>> class.
>>>>  From your suggestion above I get the impression that this is a known
>>>>  bug in version 1.0.1. Please confirm. I wonder why does it behave
>>>>  correctly for some of the objects in the transaction, then does not 
>>>> for
>>>>  some other. For eg if there are 200 objects retrieved and write locked
>>>>  in the transaction, it will correctly persist the changes in ,say,
>>>>  first 120, then miss the next 10 objects, then correctly persist the
>>>>  remaining.
>>>>
>>>
>>> This is not a known bug, but I can't rule out that your problem is a 
>>> bug in 1.0.1.
>>> Is the batch mode enabled (batch-mode="true" in 
>>> jdbc-connection-descriptor)? If yes, did you run the test with 
>>> disabled batch-mode? Do you get the same result with 1.0.4rc from CVS 
>>> (OJB_1_0_RELEASE branch)?
>>>
>>> regards,
>>> Armin
>>>
>>>>  Thanks a lot for your time and help.
>>>>  Ashish
>>>>
>>>> ---------------------------------------------------------------------
>>>> To unsubscribe, e-mail: ojb-user-unsubscribe@db.apache.org
>>>> For additional commands, e-mail: ojb-user-help@db.apache.org
>>>>
>>>>
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: ojb-user-unsubscribe@db.apache.org
>>> For additional commands, e-mail: ojb-user-help@db.apache.org
>>>
>>>
>>
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: ojb-user-unsubscribe@db.apache.org
> For additional commands, e-mail: ojb-user-help@db.apache.org
> 
> 

-- 
--------------------------------------------------
Ashish Rangole
Vexcel Corporation - Image Information Engineering
1690 38th Street, Boulder CO 80301, USA
phone: 303-583-0286 fax: 303-583-0246
Vexcel's home page: http://www.vexcel.com
--------------------------------------------------
"What hobbyist can put 3-man years into programming, finding all bugs,
  documenting his product and distribute for free?"
-- Bill Gates, An Open Letter to Hobbyists, 1976

---------------------------------------------------------------------
To unsubscribe, e-mail: ojb-user-unsubscribe@db.apache.org
For additional commands, e-mail: ojb-user-help@db.apache.org

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic