Clinton Ok this is interesting, I was able to reliably replicate the problem, I even grabbed the source code and included in the source code tree of my application and still got the issue, but... the server I am running this one was rebooted due to a power failure and now the problem has gone away... I blame cosmic rays at this point...
So this is not an issue. Cheers François On May 8, 2010, at 9:41 AM, Clinton Begin wrote: > Hi Francois, > > I can't recreate this problem. I've verified in about 1000 unit tests with > different configurations that close is being called. The only known and > verified case of this was with the ManagedTransaction, not the > JdbcTransaction. > > Perhaps you can put together a simple unit test with HSQLDB or Derby (our two > unit testing DBs) and zip it up and attach it to a ticket. Please let me > know, as I won't cut a release with a bug this serious, if it can be verified. > > Cheers, > Clinton > > 2010/5/7 François Schiettecatte <fschietteca...@gmail.com> > Clinton > > Thanks for pinging me. > > I have not had a chance to look at it, and it is still an issue, before > rushing out and creating a jira ticket for it I wanted to look at the code > diffs between the two releases, I will try to get to it later today or this > WE. > > François > > On May 7, 2010, at 10:33 AM, Clinton Begin wrote: > > > Let me know if this is still a problem, and create a JIRA ticket if it is. > > I should have some time this weekend to look into it. > > > > Clinton > > > > On Wed, May 5, 2010 at 9:16 PM, Clinton Begin <clinton.be...@gmail.com> > > wrote: > > Two things to do: > > > > * Create a JIRA ticket for this. We'll continue conversation and > > investigation there. > > > > * Mount the source and step through one example transaction. See if > > you can verify that close isn't being called, and possibly why. > > > > * Finally, out of curiosity, disable caching globally, and see if the > > problem remains. > > > > I did find one refactoring that is in this area. I'll attempt to > > recreate and verify this too. > > > > Clinton > > > > 2010/5/5 François Schiettecatte <fschietteca...@gmail.com>: > > > Clinton > > > > > > A little more information on this, I reverted back to 240 and the problem > > > I reported did not occurs after a 24 hour run. I then went to the current > > > release and the problem reappeared, everything else is the same, so there > > > is an issue. > > > > > > What it looks like is going on is that connections are not being put back > > > into the connection pool after they are closed and so time out when they > > > are subsequently used by iBatis. MySQL is set to close connections after > > > 60 seconds and the pool is set to close them after being idle for 50 > > > seconds. Yet what I am seeing is that connections are being used quite > > > some time after the last packets have been sent over the wire: > > > > > > ### Error querying database. Cause: > > > com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications > > > link failure > > > The last packet successfully received from the server was 60,858 > > > milliseconds ago. The last packet sent successfully to the server was 0 > > > milliseconds ago. > > > ### The error may involve > > > dictionaries.Category.selectObjectByCategoryID-Inline > > > ### The error occurred while setting parameters > > > ### Cause: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: > > > Communications link failure > > > > > > What it feels like is that iBatis is hanging onto the connection and > > > reusing it at a later time. > > > > > > What do you need from me to track this down? > > > > > > Cheers > > > > > > François > > > > > > > > > > > > On May 1, 2010, at 4:28 PM, Clinton Begin wrote: > > > > > >> Then no, I don't believe there have been any changes related to > > >> connections or transactions between those versions. You can have a > > >> look at the change log if you like: > > >> > > >> https://issues.apache.org/jira/secure/BrowseProject.jspa?id=10601&subset=-1 > > >> > > >> Or the subversion history as well. > > >> > > >> Clinton > > >> > > >> 2010/5/1 François Schiettecatte <fschietteca...@gmail.com>: > > >>> I am using JDBC, with C3P0 as my data source. > > >>> > > >>> Cheers > > >>> François > > >>> > > >>> On May 1, 2010, at 4:14 PM, Clinton Begin wrote: > > >>> > > >>>> The only code changes related to that were with managed transactions. > > >>>> Which transacion manager are you using? (JDBC or MANAGED)? > > >>>> > > >>>> Cheers, > > >>>> Clinton > > >>>> > > >>>> 2010/5/1 François Schiettecatte <fschietteca...@gmail.com>: > > >>>>> Hi > > >>>>> > > >>>>> I grabbed the latest, greatest release of 3.0 from : > > >>>>> > > >>>>> > > >>>>> http://people.apache.org/builds/ibatis/ibatis-3-core/ibatis-core-3.0-bundle.zip > > >>>>> > > >>>>> and am now getting an exception from time to time, but I was not > > >>>>> getting it with the previous 3.0 beta release (240). I was wondering > > >>>>> if there had been any change in the code which deals with connections > > >>>>> and pool between those two releases. What it looks like to me is that > > >>>>> connections are not being returned to the pool after I close the > > >>>>> SqlSession. I have mysql set to timeout idle connections after 60 > > >>>>> seconds and the connection pool to time out idle connections after 50 > > >>>>> seconds. Again this was not an issue in 240. > > >>>>> > > >>>>> Any suggestions? > > >>>>> > > >>>>> Cheers > > >>>>> > > >>>>> François > > >>>>> > > >>>>> > > >>>>> 2010-05-01 01:54:20,609 [pool-1-thread-1] ERROR > > >>>>> com.poplar.crawler.Worker - > > >>>>> org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:8) > > >>>>> 2010-05-01 01:54:20,609 [pool-1-thread-1] ERROR > > >>>>> com.poplar.crawler.Worker - > > >>>>> org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:61) > > >>>>> 2010-05-01 01:54:20,609 [pool-1-thread-1] ERROR > > >>>>> com.poplar.crawler.Worker - > > >>>>> org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:53) > > >>>>> 2010-05-01 01:54:20,609 [pool-1-thread-1] ERROR > > >>>>> com.poplar.crawler.Worker - > > >>>>> org.apache.ibatis.session.defaults.DefaultSqlSession.selectOne(DefaultSqlSession.java:38) > > >>>>> 2010-05-01 01:54:20,609 [pool-1-thread-1] ERROR > > >>>>> com.poplar.crawler.Worker - > > >>>>> com.poplar.sql.IBatis.selectObject(IBatis.java:554) > > >>>>> 2010-05-01 01:54:20,609 [pool-1-thread-1] ERROR > > >>>>> com.poplar.crawler.Worker - > > >>>>> com.poplar.db.dictionaries.Category.fromCategoryName(Category.java:118) > > >>>>> 2010-05-01 01:54:20,609 [pool-1-thread-1] ERROR > > >>>>> com.poplar.crawler.Worker - > > >>>>> com.poplar.db.items.ItemCategory.<init>(ItemCategory.java:201) > > >>>>> 2010-05-01 01:54:20,609 [pool-1-thread-1] ERROR > > >>>>> com.poplar.crawler.Worker - > > >>>>> com.poplar.db.items.ItemCategory.<init>(ItemCategory.java:227) > > >>>>> 2010-05-01 01:54:20,609 [pool-1-thread-1] ERROR > > >>>>> com.poplar.crawler.Worker - > > >>>>> com.poplar.db.items.Item.addItemCategory(Item.java:2182) > > >>>>> 2010-05-01 01:54:20,609 [pool-1-thread-1] ERROR > > >>>>> com.poplar.crawler.Worker - > > >>>>> com.poplar.crawler.processors.FeedProcessor.processEntryCategories(FeedProcessor.java:2494) > > >>>>> 2010-05-01 01:54:20,609 [pool-1-thread-1] ERROR > > >>>>> com.poplar.crawler.Worker - > > >>>>> com.poplar.crawler.processors.FeedProcessor.process(FeedProcessor.java:823) > > >>>>> 2010-05-01 01:54:20,609 [pool-1-thread-1] ERROR > > >>>>> com.poplar.crawler.Worker - > > >>>>> com.poplar.crawler.Worker.crawl(Worker.java:1313) > > >>>>> 2010-05-01 01:54:20,609 [pool-1-thread-1] ERROR > > >>>>> com.poplar.crawler.Worker - > > >>>>> com.poplar.crawler.Worker.crawlSourceKey(Worker.java:681) > > >>>>> 2010-05-01 01:54:20,609 [pool-1-thread-1] ERROR > > >>>>> com.poplar.crawler.Worker - > > >>>>> com.poplar.crawler.Worker.run(Worker.java:591) > > >>>>> 2010-05-01 01:54:20,609 [pool-1-thread-1] ERROR > > >>>>> com.poplar.crawler.Worker - > > >>>>> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) > > >>>>> 2010-05-01 01:54:20,609 [pool-1-thread-1] ERROR > > >>>>> com.poplar.crawler.Worker - > > >>>>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) > > >>>>> 2010-05-01 01:54:20,609 [pool-1-thread-1] ERROR > > >>>>> com.poplar.crawler.Worker - java.lang.Thread.run(Thread.java:619) > > >>>>> 2010-05-01 01:54:20,609 [pool-1-thread-1] WARN > > >>>>> com.poplar.crawler.Worker - Failed to crawl the source key: > > >>>>> 'C01240E19154BE7BDA3703F726D5A68190D4A540', exception: > > >>>>> 'org.apache.ibatis.exceptions.IbatisException: > > >>>>> ### Error querying database. Cause: > > >>>>> com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: > > >>>>> Communications link failure > > >>>>> > > >>>>> The last packet successfully received from the server was 104,024 > > >>>>> milliseconds ago. The last packet sent successfully to the server > > >>>>> was 0 milliseconds ago. > > >>>>> ### The error may involve > > >>>>> dictionaries.Category.selectObjectByCategoryName-Inline > > >>>>> ### The error occurred while setting parameters > > >>>>> ### Cause: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: > > >>>>> Communications link failure > > >>>>> > > >>>>> The last packet successfully received from the server was 104,024 > > >>>>> milliseconds ago. The last packet sent successfully to the server > > >>>>> was 0 milliseconds ago.'. > > >>>>> > > >>>>> > > >>>>> --------------------------------------------------------------------- > > >>>>> To unsubscribe, e-mail: user-java-unsubscr...@ibatis.apache.org > > >>>>> For additional commands, e-mail: user-java-h...@ibatis.apache.org > > >>>>> > > >>>>> > > >>>> > > >>>> --------------------------------------------------------------------- > > >>>> To unsubscribe, e-mail: user-java-unsubscr...@ibatis.apache.org > > >>>> For additional commands, e-mail: user-java-h...@ibatis.apache.org > > >>>> > > >>> > > >>> > > >>> --------------------------------------------------------------------- > > >>> To unsubscribe, e-mail: user-java-unsubscr...@ibatis.apache.org > > >>> For additional commands, e-mail: user-java-h...@ibatis.apache.org > > >>> > > >>> > > >> > > >> --------------------------------------------------------------------- > > >> To unsubscribe, e-mail: user-java-unsubscr...@ibatis.apache.org > > >> For additional commands, e-mail: user-java-h...@ibatis.apache.org > > >> > > > > > > > > > --------------------------------------------------------------------- > > > To unsubscribe, e-mail: user-java-unsubscr...@ibatis.apache.org > > > For additional commands, e-mail: user-java-h...@ibatis.apache.org > > > > > > > > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: user-java-unsubscr...@ibatis.apache.org > For additional commands, e-mail: user-java-h...@ibatis.apache.org > > --------------------------------------------------------------------- To unsubscribe, e-mail: user-java-unsubscr...@ibatis.apache.org For additional commands, e-mail: user-java-h...@ibatis.apache.org