Simone,

I manually inserted a couple of records. e.g.:

INSERT INTO Parent VALUES ('test1');
INSERT INTO Child (id, name, value, parentid) VALUES ('test1:name1', 'name1', 'value1', 'test1');


And that was enough data to recreate the problem. The test was then called with

java com.ingenta.acs.test.ejb.CMRTest test1 30 100

- that's with a parent pk of test1, 30 threads each doing 100 loops. The classpath has test.jar, all the necessary JBOSS client jars, and a jndi.properties containing a provider url.

For every successful record it will print the returned name/value pairs from the child. For every failure it will print the error message (the full stack trace should be in the server log).

Thanks for having a look at this - I've had to wait for our firewall to be opened up before I can build the latest 3.2 code from CVS.

Andrew

Simone Milani wrote:

Hi Andrew,

    I am trying your test, do you have a script to populate the tables and
the parameters for the CMRTestClass?

Thanks

Simone
----- Original Message -----
From: "Andrew May" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Monday, March 31, 2003 2:46 PM
Subject: Re: [JBoss-user] CMR Error under load



I don't see a RC5 release on sourceforge, so I assume this means I have to

build it from


CVS. I'll give that a go, but as I've never tried it before it could take

me a while


(never actually used CVS I confess) - still it's something I ought to be

able to do.


If anyone has a chance to run my test on this version of JBoss I'd be

grateful - it'll


probably be at least a day before I get that far.

Andrew

Alex Loubyansky wrote:


Could you, please, try it on JBoss-3.2.0RC5 which is the current
version.
I have a testcase that failed in my old 3.2 and passes in current
3.2.0RC5.

Please, try it.

alex

Monday, March 31, 2003, 12:37:32 PM, Andrew May wrote:

AM> OK, here's a test case that recreates the problem for me.

AM> I've attached test.jar which is the ejb-jar and also includes the

test case class. Also


AM> attached is test-src.jar which has the source code for the EJBs and

the test. I'm afraid


AM> I've been hacking around existing build scripts to create the test

so I've not included


AM> any way of building the code. I'm using an older version of XDoclet.

AM> There are 2 entities, Parent and Child. The CMRTest class creates

multiple threads to call


AM> the getPropertyMap() method on the Parent. This method iterates

around the CMR collection


AM> of children, and when multiple threads are run causes occasional CMR

errors.


AM> In jbosscmp-jdbc.xml the datasource is java:/jdbc.testPool and the

mapping is for Oracle8.


AM> My test doesn't create the test data, so I've manually inserted data

before running the


AM> test. I've found that it's only necessary to have one child record

to recreate the problem.


AM> The CMRTest class takes 3 arguments - the parent primary key, number

of threads, number of


AM> loops per thread. e.g.:

AM> java com.ingenta.acs.test.ejb.CMRTest test1 30 100

AM> 30 threads with 100 loops always causes at least one CMR error for

me. I've tested on two


AM> setups, both of which cause errors.

AM> 1) Solaris, Sun JDK1.3.1, JBoss 3.2.0RC3, Oracle 8.1.7.2.0
AM> 2) Linux (Mandrake 9), Sun JDK1.4.1, JBoss 3.2.0RC4, Oracle

8.1.7.2.0


AM> jboss.xml in the ejb-jar declares all get* methods to be read-only.

If I remove this the


AM> CMR error does not occur, but the test goes a lot slower.

AM> Let me know if there's any more information you need.

AM> Andrew

AM> Dain Sundstrom wrote:



I fixed a similar bug in this stuff for Sacha on March 19th (version
1.43.2.13).  The problem was registering for transaction

synchronization


on the transaction in the context and not the transaction associated
with the current thread.  This bug created the type of problem you have
described, but the fix should bin in 3.2 rc4.

Until someone can create a test case that reproduces the new bug, I
don't think there is much we can do.

-dain

On Friday, March 28, 2003, at 10:01 AM, Alex Loubyansky wrote:



Hello Andrew,

you are not alone complaining about this. But nobody could produce a
testcase that fail at least eventually.

I am trying to reproduce it but can't for the moment.

I have a Parent and 1000 of related Child entities.
I have 100 concurrent threads finding parent by primary key, getting
children and iterating through relation collection.
I use standard container for both Parent and Child.
In jboss.xml get methods are read-only for both Parent and Child.

Any more info you can provide? Again a testcase would be great. Let it
fail not each time but eventually.

Thank you,
alex




-------------------------------------------------------
This SF.net email is sponsored by: ValueWeb: Dedicated Hosting for just $79/mo with 500 GB of bandwidth! No other company gives more support or power for your dedicated server
http://click.atdmt.com/AFF/go/sdnxxaff00300020aff/direct/01/
_______________________________________________
JBoss-user mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-user

Reply via email to