Ticket #900 (closed defect: fixed)
Connections in CLOSE_WAIT status never close and are not reused
| Reported by: | amitmarty | Owned by: | |
|---|---|---|---|
| Priority: | high | Milestone: | 2.2 |
| Component: | Server | Version: | 2.0.2 |
| Severity: | critical | Keywords: | |
| Cc: | brucedechant, trevorwekel | External ID: |
Description
Some of this was discussed in trac 726.
But I believe that one should be left to the 55 connections issue which might be attributed to the ACE's ACE_WFMO_Reactor implementation in mapguide.
My setup is Apache / Tomcat / Mapguide 2.0.2 with Ajax Viewer. / mysql db / Win 2003 Server
When a user tries to access a map we load the base map (DWF) from the library and based on user options load a spatial feature layer from a mysql database.
On the initial site load tomcat opens about 6 to 8 connections to port 2811 on mapguide.
After about 5 minutes of no activity on the map all these connections go to a close_wait status.
If a user then tries a activity one of these 8 connections that are in close_wait will be reused and the user activity is processed. But the rest of the connections are never closed nor are they ever reused.
As more users try to access the maps we start seeing a high amount of build up of these connections to map guide on port 2811 ( Client Connections ) and at some point I have to restart the mapguide server before the users can access maps again.
Below is my workers.properties file, i have commented couple of the directives as they were deprecated.
# Define 1 real worker using ajp13
worker.list=worker1
# Set properties for worker1 (ajp13)
worker.worker1.type=ajp13
worker.worker1.host=localhost
worker.worker1.port=8009
worker.worker1.lbfactor=50
#Deprecated cachesize since 1.2.16 , replaced by connection_pool_size
# For Apache autodiscovery is done to match the ThreadsPerChild? Apache directive
#worker.worker1.cachesize=10
worker.worker1.cache_timeout=600
worker.worker1.socket_keepalive=true
#Deprecated since 1.2.16, replaced by connection_pool_timeout
#worker.worker1.recycle_timeout=300
worker.worker1.connect_timeout=10000
worker.worker1.connection_pool_timeout=60
What I would like to do is setup a debug environment with the source for mapguide server and web server extensions for java and try to first find what the initial connection are and then where the problem might be.
Is there any documentation on how to setup such a env. ? Any Suggestion for debugging JNI ?
Thanks for all the great work on Mapguide and any help you could extend.
