sorry
I didn't see it before, thanks for pinging me privately, no thanks for the html
:(
The
test does cover what you talk about: a remove that is working in parallel with a
passivation.
What I
would really want to do is trigger passivation (in the job thread not C) and
timeouts. Frankly the test didn't break the cache but showed the Locking
waiting bug (that you didn't fix, just removed the message but it is still a
busy wait).
I
decided to go ahead and just fix the code, please if you have the time do make
teh test more "high grade" by forcing timeouts and pasivation, but I suspect it
is all configuration isn't it?
guys I
really need to "over and out" I have been 50/50 with code and list and that is
really not what I should be doing.
TIME
TO SYNCHRONIZE and LOCK on myself :)
talkToMarc()
if
(heIsCodingBugs)
synchronized(inbox) {
wait();
}
Peace
Love, and good Code
marcf
________________________________________
"The vibe is definitely going out and wide
tonight"
--
colin Dale, <a
href="http://www.groovetech.com/PhoenixData/SilverStream/Pages/srvltRecMed?RecordedMediaID=53462"> Abstrakt
Dance</a> --
________________________________________
-----Original Message-----
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]]On Behalf Of Bill Burke
Sent: Monday, June 25, 2001 10:05 PM
To: Jboss-Development@Lists. Sourceforge. Net
Subject: [JBoss-dev] new Threads.java (cache bug tests) is incomplete.Marc,Don't get annoyed with me, but your new threads test is incomplete:- You need to also randomize on the bean's primary key. I say this because some of the cache bugs I encountered were as a result of one thread throwing a context back into the InstancePool(via a rollback or remove) while another thread(i.e. PassivationJob) had a reference to it and was using it. Also, with your test the way it stands, your entity calls will be serialized, so you have almost no chance of creating a race condition.- You should test the state of your entity beani.e.class EJBThreadsBean implement EntityBean {public void test(String shouldBe){if (!shouldBe.equals(id)) { throw new RemoteException("state invalid"); }}}- You should test against option 'A', 'B', and 'C' since they are all totally different behaviour.- You should test with reentrant "true"You could turn this around and say, "Bill, why don't you do it then?", then I'd happily say, "Sure!".Regards,Bill