ok,

The status is that the "busy wait" message is a bug, due to the fact that
the mutex always let someone through and then it hits the busy wait and
starts again, goes through and hits the wall etc etc.. this OF COURSE will
peg your CPU at 100 which is really not very good. This one, i can fix.

to see the "bug" just compile the jbosstest and drop the MBean in the
lib/ext of jboss, edit the jboss.jcml snippet (given to you in the readme)
and you can drive the test session from the localhost:8082 console. The
advantage is taht we bypass the RMI stack and really test INVM what is going
on.

The bug that I can't reproduce in the synthetic test is the "real lock".
the fix I am thinking of, is to rework that code and move most of the
synchronization in the cache.  This way we will simplify the operation of
synchronizing and the cache can implement the policy it wants ON THE
SYNCHRONIZATION ITSELF.

If you guys want to create a copy of the bean if it is in transaction and
let the driver handle the concurrency then that is up to you, the container
flow will mostly be unaffected.  To do this I will need to adapt the API to
the cache (pass info w/tx).

pffffff

...

pfffffff

ok 2 points

1- I remember asking for the driver isolation levels to be set correctly.
My read is that it must be done in the JAWS stack and that it wasn't done a
month ago... I haven't really looked for that feature but I believe it is
still NOT implemented? if that is the case then all the optimistic caches
will have a hard time working at all... first things first
2- manhana! (tomorrow in spanish)

marcf


|-----Original Message-----
|From: [EMAIL PROTECTED]
|[mailto:[EMAIL PROTECTED]]On Behalf Of
|[EMAIL PROTECTED]
|Sent: Tuesday, June 26, 2001 1:50 AM
|To: [EMAIL PROTECTED]
|Subject: [JBoss-dev] CVS update:
|jbosstest/src/main/org/jboss/test/threading/mbean Threads.java
|
|
|  User: mnf999
|  Date: 01/06/25 22:50:14
|
|  Modified:    src/main/org/jboss/test/threading/mbean Threads.java
|  Log:
|  So far the fucking bug is eluding me... still no clear repro...
|
|  Revision  Changes    Path
|  1.2       +14 -7
|jbosstest/src/main/org/jboss/test/threading/mbean/Threads.java
|
|  Index: Threads.java
|  ===================================================================
|  RCS file:
|/cvsroot/jboss/jbosstest/src/main/org/jboss/test/threading/mbean/Th
|reads.java,v
|  retrieving revision 1.1
|  retrieving revision 1.2
|  diff -u -r1.1 -r1.2
|  --- Threads.java     2001/06/26 01:08:50     1.1
|  +++ Threads.java     2001/06/26 05:50:14     1.2
|  @@ -18,7 +18,7 @@
|   *
|   *   @see <related>
|   *   @author  <a href="mailto:[EMAIL PROTECTED]";>Marc Fleury</a>
|  -*   @version $Revision: 1.1 $
|  +*   @version $Revision: 1.2 $
|   *
|   *   Revisions:
|   *
|  @@ -106,6 +106,9 @@
|                               EJBThreads ejbTest;
|                               while(runMe)
|                               {
|  +
|  +                                    ejbTest = null;
|  +
|                                       try {
|
|                                               ejbTest =
|testHome.findByPrimaryKey("test1");
|  @@ -113,24 +116,28 @@
|                                       catch (Exception e)
|                                       {
|                                               // Bean wasn't
|found create it
|  -                                            ejbTest =
|testHome.create("test1");
|  +                                            try {
|  +                                                    ejbTest =
|testHome.create("test1");
|  +                                            }
|  +
|  +                                            catch (Exception e2) {}
|                                       }
|
|  -                                    try {
|  +                                    if (ejbTest != null) try {
|
|                                               // get a random
|value between 1 and 100
|                                               int value =
|random.nextInt(100);
|
|                                               // 10% removal
|  -                                            if (value <40) {
|  +                                            if (value <10) {
|                                                       ejbTest.remove();
|                                               }
|                                               // 40% normal
|  -                                            else if (value<41) {
|  +                                            else if (value<50) {
|                                                       ejbTest.test();
|                                               }
|                                               // 20% business exception
|  -                                            else if (value<42) {
|  +                                            else if (value<70) {
|
|ejbTest.testBusinessException();
|                                               }
|                                               // 20 % runtime excpetion
|  @@ -150,7 +157,7 @@
|
|                               }
|                       }
|  -                    catch (Exception e) {e.printStackTrace();}
|  +                    catch (Exception e)
|{System.out.println("Exception for
|thread"+Thread.currentThread()); e.printStackTrace();}
|
|               }
|       }
|
|
|
|
|_______________________________________________
|Jboss-development mailing list
|[EMAIL PROTECTED]
|http://lists.sourceforge.net/lists/listinfo/jboss-development



_______________________________________________
Jboss-development mailing list
[EMAIL PROTECTED]
http://lists.sourceforge.net/lists/listinfo/jboss-development

Reply via email to