Bugs item #582965, was opened at 2002-07-17 11:55
You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=376685&aid=582965&group_id=22866

Category: Clustering
Group: v3.1
>Status: Open
Resolution: Fixed
Priority: 7
Submitted By: Matt Cleveland (groovesoftware)
Assigned to: Sacha Labourey (slaboure)
Summary: Cluster Member Starvation

Initial Comment:
The Round Robin algorithm on home interfaces is causing
starvation of some servers in the cluster.  In other
words, some servers receive no create calls.

I am using jboss_3.0.1RC1-tomcat_4.0.4 with Java 1.3.1.
 The following steps will reproduce the error.

- un-jar the attached bug.jar
- Create 6 jboss server instances on the same computer.
These servers can be the same configuration as
'default'. You will need to change port numbers for
each server so that none conflict.
- In 5 of the configurations place the attached
ejb-cluster-service.xml  (it's in the attached bug.jar)
file. I call these servers EJB servers.
- The 6th server I call the web server.
- In all 6 servers place the attached
jndi-cluster-service.xml file (it's in the attached
bug.jar). You will need to change the port in this file
for each server so that there are no conflicts.
- un-jar the attached rr.jar (it's in the attached
bug.jar). Change the jnp url in
rr/resources/war/jnpport/WEB-INF/jboss-web.xml to use
the port specified for HA-JNDI on the web server.
- run Ant in rr.
- copy rr/build/jnpport/jnpport.jar to the deploy
directory of the EJB servers.
- copy rr/build/jnpport/jnpport.war to the deploy
directory of the web server.
- start all 6 servers
- To test you can use a URL of the form
http://<server>:<port>/jnpport/hello.jsp?homeCount=1&beanCount=1&callCount=1
You can change the parameters to change the behavior.
The JSP looks up the home interface to an ejb homeCount
times. For each home it looks up it creates beanCount
beans. For each bean it creates it calls a method
callCount times. All the bean does is log some output
so that you can see which server handled the call by
looking at the log files.

I have found the following behavior with this example.

- homeCount=50 beanCount=1 callCount=1
All calls go to the same server. This is expected and I
do not believe it is a bug because there is no
round-robin for HA-JNDI when it resolves a name to the
local JNDI on a server.

- homeCount=1 beanCount=1 callCount=50
All calls are evenly distrubuted to all EJB servers.

- homeCount=1 beanCount=50 callCount=50
Calls are not evenly distrubuted to the EJB servers. 1
or more servers will not receive any calls at all. This
is a bug because some of the servers are being left out
of the load balancing.


----------------------------------------------------------------------

>Comment By: Matt Cleveland (groovesoftware)
Date: 2002-07-31 15:06

Message:
Logged In: YES 
user_id=85088

Sacha,

I appreciate your looking into this.

Using CVS HEAD from 7/30, it is not fixed.  I was able to
reproduce first try
using Jetty this time instead of Tomcat and the instructions
exactly as I gave them in the forum and in the bug report. 
I'm not sure that the timing issue you mention is the
problem because there is no network involved and because the
machine is fast.  All servers are running on the same
4x800Mhz Sparc Solaris box with 2gig of memory.  I'm using
JDK version 1.3.1_03-b03.

I know you're busy, and any of your time that you put into
this is appreciated.  Unfortunately it seems that I will not
be the only one affected by this since I am able to
reproduce it with such a basic example.

I will double-post this information to the bug report and
the forum.

Thanks,
Matt Cleveland

----------------------------------------------------------------------

Comment By: Sacha Labourey (slaboure)
Date: 2002-07-27 08:51

Message:
Logged In: YES 
user_id=95900

The partition has a timeout parameter to indicate what is the 
maximum amount of time a call must last. This value was set 
at ... 500ms. Consequently, the starvation problem wasn't 
really related to the number of nodes but, instead, to the load 
of the host that was running the 6 instances: some calls were 
lasting more than 500ms to go through the network + the 
whole JavaGroups stack. The timeout-value is now set higher 
(+ some other bugs have also been fixed such as HA-JNDI 
not working out-of-VM with recent CVS snapshots).

----------------------------------------------------------------------

You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=376685&aid=582965&group_id=22866


-------------------------------------------------------
This sf.net email is sponsored by: Dice - The leading online job board
for high-tech professionals. Search and apply for tech jobs today!
http://seeker.dice.com/seeker.epl?rel_code=31
_______________________________________________
Jboss-development mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-development

Reply via email to