Bugs item #1700841, was opened at 2007-04-14 21:08
Message generated for change (Tracker Item Submitted) made by Item Submitter
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=724978&aid=1700841&group_id=132696
Please note that this message will contain a full copy of the comment thread,
including the initial issue submission, for this request,
not just the latest update.
Category: Persistence
Group: Pre-Alpha
Status: Open
Resolution: None
Priority: 5
Private: No
Submitted By: Wyrm Tools (wyrmtools)
Assigned to: Wyrm Tools (wyrmtools)
Summary: Import/export fails with large number of elements
Initial Comment:
Attempting to import and/or export a large number of elements fails with an exception. The exception stack trace is exteremely large with many nested exceptions. The root cause is a java.net.BindException when the persistence layer attempts to open a connection to the MySQL database.
Examining the output of "netstat -a" during an export shows that there is a huge number of TCP sockets in the TIMED_WAIT state. Thus, it appears the persistence layer is opening new connections to the database faster than the open sockets time out and can be reclaimed by the OS.
The JPOX persistence layer appears to be opening a new connection every time it needs to read from or write to the database. That is, there is no connection pool being used. Further research shows that JPOX does not support connection pooling out-of-the-box.
It's obvious the lack of a connection pool is causing so many connections to be opened in a relatively short period of time, thus overwhelming the TCP/IP stack. JPOX does support various connection pool plugins, and it seems appropriate that to fix this bug, one of those plugins should be added to the Wyrm Tools platform and/or JPOX fragment distribution.
----------------------------------------------------------------------
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=724978&aid=1700841&group_id=132696
|