Bugs item #582965, was opened at 2002-07-17 19: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: Closed 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: Sacha Labourey (slaboure) Date: 2002-08-27 09:21 Message: Logged In: YES user_id=95900 Previous fix was correct. Last described behaviour wasn't a bug. HEAD and 3.2 have been modified though so that load- balancing policy behaviour more closely match expectations. ---------------------------------------------------------------------- Comment By: Matt Cleveland (groovesoftware) Date: 2002-07-31 23: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 16: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: OSDN - Tired of that same old cell phone? Get a new here for FREE! https://www.inphonic.com/r.asp?r=sourceforge1&refcode1=vs3390 _______________________________________________ Jboss-development mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/jboss-development