I have indeed verified that it works across instances using Oracle
and PostgresQL.

I think the problem might be the autonumber column  (as mentioned
somewhere else) versus the sequence object that postgres and oracle use.

This means that I am NOT using the OJB sequence manager.

Jason

On Mon, 2003-11-03 at 06:59, Andy Czerwonka wrote:
> OUCH!! If this doesn't work, the it's a MAJOR problem.  Has someone
> verified in using the PB API in a multi-system environment?  Given that
> it's using a database sequence, it shouldn't be a problem.  It's got to
> be a bug.
> 
> On Mon, 2003-11-03 at 04:37, Mark Rowell wrote:
> > Hi
> > 
> > Further to my mails last week re auto incremented primary keys (integers)
> > across extents I have created a very simple (non Junit based) test that
> > starts 2 JVMs that write A number of instances of a concrete class into a
> > table using the PerssitenceBroker API.
> > 
> > As it is currently setup, 2 JVMs are started that each attempt to insert
> > 1000 instances. Everytime I have run it (10+) I get less than 2000 rows in
> > the database or I will get a parimary key violation As one JVM attempts to
> > store and ID that has already been created by the other JVM.
> > 
> > I was under the impression that the default highLow sequence implementation
> > would work across JVMs for allocating IDs? 
> > 
> > The attached zip file has everything in it. If one of the OJB developers
> > could take a look at it I would appreciate it.
> > 
> > Here is the stack trace:
> > 
> > com.jnetdirect.jsql.v: Violation of PRIMARY KEY constraint
> > 'PK__Test__72F0F4D3'.  Cannot insert duplicate key in object 'Test'.
> >         at com.jnetdirect.jsql.v.a(Unknown Source)
> >         at com.jnetdirect.jsql.at.a(Unknown Source)
> >         at com.jnetdirect.jsql.af.i(Unknown Source)
> >         at com.jnetdirect.jsql.af.new(Unknown Source)
> >         at com.jnetdirect.jsql.af.int(Unknown Source)
> >         at com.jnetdirect.jsql.ao.executeUpdate(Unknown Source)
> >         at
> > org.apache.ojb.broker.accesslayer.JdbcAccessImpl.executeInsert(Unknow
> > n Source)
> >         at
> > org.apache.ojb.broker.core.PersistenceBrokerImpl.storeToDb(Unknown So
> > urce)
> >         at org.apache.ojb.broker.core.PersistenceBrokerImpl.store(Unknown
> > Source
> > )
> >         at org.apache.ojb.broker.core.PersistenceBrokerImpl.store(Unknown
> > Source
> > )
> >         at
> > org.apache.ojb.broker.core.DelegatingPersistenceBroker.store(Unknown
> > Source)
> >         at
> > org.apache.ojb.broker.core.DelegatingPersistenceBroker.store(Unknown
> > Source)
> >         at Test.main(Test.java:44)
> > rethrown as org.apache.ojb.broker.PersistenceBrokerSQLException: Violation
> > of PR IMARY KEY constraint 'PK__Test__72F0F4D3'. Cannot insert duplicate key
> > in object  'Test'.
> >         at
> > org.apache.ojb.broker.accesslayer.JdbcAccessImpl.executeInsert(Unknow
> > n Source)
> >         at
> > org.apache.ojb.broker.core.PersistenceBrokerImpl.storeToDb(Unknown So
> > urce)
> >         at org.apache.ojb.broker.core.PersistenceBrokerImpl.store(Unknown
> > Source
> > )
> >         at org.apache.ojb.broker.core.PersistenceBrokerImpl.store(Unknown
> > Source
> > )
> >         at
> > org.apache.ojb.broker.core.DelegatingPersistenceBroker.store(Unknown
> > Source)
> >         at
> > org.apache.ojb.broker.core.DelegatingPersistenceBroker.store(Unknown
> > Source)
> >         at Test.main(Test.java:44)
> > Caused by: com.jnetdirect.jsql.v: Violation of PRIMARY KEY constraint
> > 'PK__Test_ _72F0F4D3'. Cannot insert duplicate key in object 'Test'.
> >         at com.jnetdirect.jsql.v.a(Unknown Source)
> >         at com.jnetdirect.jsql.at.a(Unknown Source)
> >         at com.jnetdirect.jsql.af.i(Unknown Source)
> >         at com.jnetdirect.jsql.af.new(Unknown Source)
> >         at com.jnetdirect.jsql.af.int(Unknown Source)
> >         at com.jnetdirect.jsql.ao.executeUpdate(Unknown Source)
> >         ... 7 more
> > 
> > 
> > I am using RC4. This test has no caching. The RDBMS is SQLServer2000.
> > 
> > To run the test extract the zip file to some directory. Go into that
> > directory and create a lib sub-dir.
> > Copy the RC4 jar all the commons jars (and the Jar that contains the logging
> > code -- in my case log4j)
> > 
> > You will need a batch file called JDK14.BAT somewhere on you path that sets
> > the path to point to the JDK.
> > The batch file run.bat starts 2 JVMs that write the info into the database.
> > 
> > Regards
> > 
> > Mark Rowell
> > 
> > -------------------------------------------
> > Mark Rowell
> > Structured Credit Europe
> > CreditTrade Limited
> > 180 Fleet Street
> > London EC4A 2HG
> > 
> > Tel +44 (0)20 7400 5078
> > Fax +44 (0)20 7400 5099
> > 
> > http://www.credittrade.com
> > 
> >  
> > 
> > 
> > 
> > CreditTrade Limited is regulated by the FSA. (c) CreditTrade 2002. All rights 
> > reserved. The information and data contained in this email is provided for the 
> > information purposes of the addressee only and should not be reproduced and/or 
> > distributed to any other person. It is provided without any warranty whatsoever 
> > and unless stated otherwise consists purely of indicative market prices and other 
> > information.
> > 
> > Any opinion or comments expressed or assumption made in association with the data 
> > or information provided in this email is a reflection of CreditTrades judgement at 
> > the time of compiling the data and is subject to change. CreditTrade hereby makes 
> > no representation and accepts no responsibility or liability as to the 
> > completeness or accuracy of this email.
> > 
> > The content of this email is not intended as an offer or solicitation for, or 
> > recommendation of, the purchase or sale of any financial instrument, or as an 
> > official confirmation of any transaction, and should not be construed as 
> > investment advice.
> > 
> > ______________________________________________________________________
> > 
> > ---------------------------------------------------------------------
> > 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