[jboss-dev-forums] [Design of JBoss Remoting, Unified Invokers] - PortUtil - Hits Max Will Always Hand Out 65535

jcreynol do-not-reply at jboss.com
Fri Mar 7 22:04:52 EST 2008


I think I've done all the requisite searching to see if this has been discussed elsewhere and I'm slightly convinced it may be a bug that hasn't been uncovered in that I'm not certain it has been hit as hard in testing, as it is in our production environment of 6000+ Swing Clients invoking various EJBs for 10 hours straight at sub-second intervals.  Some of the behaviors we have seen -- server crashes without log details or errors and hung clients that never receive response nor exception -- may possibly be related to port issues.

   private static synchronized int getNextPort()
  |    {
  | 	  if (portCounter < MAX_LEGAL_PORT)
  | 		  return portCounter++;
  | 	  
  | 	  portCounter = MIN_UNPRIVILEGED_PORT;
  | 	  return MAX_LEGAL_PORT;
  |    }

Since these methods are static and portCounter is static, overtime this socket connectors will grow to where all will try MAX_LEGAL_PORT to no avail, no?

As an example, here's the log entry 1.5 seconds before the server was auto-restarted by a cron job:


  | 2008-03-07 12:28:14,689 INFO   (WorkerThread#140[10.29.10.109:64619]) [xxx.dao.RDBContactEventLogDAO]  Option size: 2
  | INFO   (main) [com.arjuna.ats.jbossatx.jta.TransactionManagerService]  JBossTS Transaction Service (JTA version) - JBoss Inc.

Shouldn't we drop back down to the MIN_UNPRIVILEGED_PORT if the MAX_LEGAL_PORT won't work?  As it is, the portCounter is initialized to a random number so x number of ports between MIN_UNPRIVILIGED_PORT and RANDOM_PORT go unchecked...

Any thoughts on the topic are very much appreciated.

Thanks,
John

View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4135027#4135027

Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4135027



More information about the jboss-dev-forums mailing list