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#...
Reply to the post :
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&a...