Hi,
Gelhar, Wallace Joseph wrote:
Hi Daniel,
You might also want to make sure you are using the same sequence throughout the extent hierarchy. If you have two separate sequences to different classes within the hierarchy you will have this problem.
Indeed this could be a problem, but normally OJB is smart enough to use the same sequence name for "extents" when the flag 'autoNaming' is set 'true'.
http://db.apache.org/ojb/docu/guides/sequencemanager.html#High%2FLow+sequence+manager
http://db.apache.org/ojb/docu/guides/sequencemanager.html#Any+known+pitfalls%3F
Only if you add/remove 'extents' (see pitfall link above) you should take care of consistency and e.g. clear the OJB_HL_SEQ table.
regards, Armin
Explicitly define the sequence name for each class within the hierarchy. Or make sure you are using a global sequence.
<class-descriptor class="BaseClass" table="BaseTable" > <extent-class class-ref="ExtentOne" /> <extent-class class-ref="ExtentTwo" /> <field-descriptor name="id" column="ID" jdbc-type="INTEGER" primarykey="true" autoincrement="true" sequence-name="base-sequence" /> ... </class-descriptor> <class-descriptor class="ExtentOneClass" table="ExtentOneTable" > <field-descriptor name="id" column="ID" jdbc-type="INTEGER" primarykey="true" autoincrement="true" sequence-name="base-sequence" /> ... </class-descriptor> <class-descriptor class="ExtentTwoClass" table="ExtentTwoTable" > <field-descriptor name="id" column="ID" jdbc-type="INTEGER" primarykey="true" autoincrement="true" sequence-name="base-sequence" /> ... </class-descriptor>
-----Original Message-----
From: Daniel Perry [mailto:[EMAIL PROTECTED] Sent: Monday, October 18, 2004 10:29 AM
To: OJB Users List
Subject: RE: HighLowSequenceManager chaos
My repository_internal.xml didnt have the ObjectCacheEmptyImpl cache set up for the hl_seq class, so it would have been using the ObjectCacheDefaultImpl.
Could this have caused the problem?
I need to work out what went wrong, as it cannot happen again (very unhappy clients!!!)
Daniel.
-----Original Message----- From: Daniel Perry [mailto:[EMAIL PROTECTED] Sent: 18 October 2004 15:43 To: OJB Users List Subject: RE: HighLowSequenceManager chaos
Duh, cant use native - it's not extent-aware :(
So, highlow seems to be working when i start it.....
But it seemed ok before (until it started overwriting data): it wrote 1 to 83, then 123 to 140, then 101 to 132 (at which point the
overwriting was noticed!!! ie 123-132 had been done twice!).
Could it be anything to do with caching of the HighLowSequence object?
Daniel.
-----Original Message----- From: Daniel Perry [mailto:[EMAIL PROTECTED] Sent: 18 October 2004 15:27 To: OJB Users List Subject: RE: HighLowSequenceManager chaos
Ok, so it is working.... for some reason when i was using an
older version
of ojb and hsqldb it was going up in jumps of the grabsize, so i just assumed that was what it did!
Anyway, the real problem i've had is that it has been going
incremental up
to a certain point in time, then it jumped about 50 places forward, then went incremental for a week or so and then jumped back and started overwriting existing objects, which obviously isnt good.
I've decided to convert to letting mysql do the incrementing,
and tell ojb
to use native impl.
Daniel.
-----Original Message----- From: Pulat Yunusov [mailto:[EMAIL PROTECTED] Sent: 18 October 2004 15:19 To: OJB Users List Subject: Re: HighLowSequenceManager chaos
Grab size refers to the number of consecutive values from which the sequence manager issues primary keys until it reaches a value equal to the max_key - 1. Then the max_key is increased by the grab
size, and the
sequence manager continues to issue primary keys until it exhausts
the sequence again.
Pulat
Daniel Perry wrote:
Hi, I've been trying to debug some problems in our software, and it
seems that
the High Low Sequence Manager has gone a bit mad!
I am seeing some wierd stuff going on - the sequence manager has
NO settings, so should be acting in the default configuration.
The OJB_HL_SEQ
is showing grabsizes of 20, and multiples of 20 in the max
column, but it
doesnt seem to be using them. eg, i initialise the app and in
OJB_HL_SEQ i
see:
SEQ_pdp,deprecatedColumn,160,209
But when i insert data, i get id's of 161,162,163. I would expect 180,200,220. When i go to the HL_SEQ table after shutting down
the app, i
see that the MAX_KEY is only 180. I've turned on debugging
and i see
messages like the following, which look right to me, except
that it comes up
with the same message each time - it should be incremented
right?
[org.apache.ojb.broker.util.sequence.SequenceManagerHighLowImpl] DEBUG: new
sequence was
[EMAIL PROTECTED] ame=SEQ_pd
p,fieldName=deprecatedColumn,grabSize=20,version=9,maxKey=180,curr entKey=160
]
Anyone seen this kind of problem before?
Daniel.
------------------------------------------------------------------ --- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
-------------------------------------------------------------------- - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
