FWIW, these are the kinds of flaky bugs I've seen w/ various versions
of the MySQL driver. The version bundled with
activerecord-jdbcmysql-adapter, 5.0.4, does not have the statement
cancellation timer.

If you can try version 5.0.4, see if it helps with the problem.

http://github.com/nicksieger/activerecord-jdbc-adapter/raw/master/drivers/mysql/lib/mysql-connector-java-5.0.4-bin.jar

/Nick

On Tue, Dec 30, 2008 at 5:07 PM, Charles Oliver Nutter
<[email protected]> wrote:
> Today I spent some time investigating why repeated deploys of a user's app
> ate progressively more and more memory on Tomcat on Sun Java 6. I managed to
> get from the user a heap dump of a server that had an app deployed and
> undeployed plus an explicit GC. The JRuby instance sticks around.
>
> It appears that almost all the rootset graphs (tracing references back to
> the "root set" of live objects" involve a timer thread spun up by MySQL for
> cancelling statements (the "statement cancellation timer"). When MySQL is
> loaded, it starts up a thread, referenced from a static field. That thread
> has a reference to its classloader, which in the case of AR-JDBC is the
> JRubyClassLoader (but would be a webapp classloader anyway). Ignoring for
> the moment this seems like a really bad idea (and EE dictates that you're on
> your own if you dare to spin up threads inside the container), it's likely
> this is the cause of tomcat+jruby+mysql memory problems over successive
> deploys.
>
> This bug has been reported here, but not fixed:
>
> http://bugs.mysql.com/bug.php?id=36565
>
> There is a workaround on the bug that involves using reflection to dig out
> the timer thread and cancel it. That's obviously not great, and we should
> lean on someone to fix this properly. In the interim, we may want to
> consider modifying Warbler to do this workaround for you.
>
> Thoughts?
>
> - Charlie
>
> ---------------------------------------------------------------------
> To unsubscribe from this list, please visit:
>
>   http://xircles.codehaus.org/manage_email
>
>
>

---------------------------------------------------------------------
To unsubscribe from this list, please visit:

    http://xircles.codehaus.org/manage_email


Reply via email to