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]



Reply via email to