ibatis-user-java mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Clinton Begin <clinton.be...@gmail.com>
Subject Re: interesting exception in 3.0
Date Fri, 14 May 2010 20:36:44 GMT
Thanks so much Francois, I appreciate the effort you applied to validating
this.

Cheers,
Clinton

2010/5/14 François Schiettecatte <fschiettecatte@gmail.com>

> 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 <fschiettecatte@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.begin@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 <fschiettecatte@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 <fschiettecatte@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 <fschiettecatte@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-unsubscribe@ibatis.apache.org
> > > >>>>> For additional commands, e-mail:
> user-java-help@ibatis.apache.org
> > > >>>>>
> > > >>>>>
> > > >>>>
> > > >>>>
> ---------------------------------------------------------------------
> > > >>>> To unsubscribe, e-mail: user-java-unsubscribe@ibatis.apache.org
> > > >>>> For additional commands, e-mail: user-java-help@ibatis.apache.org
> > > >>>>
> > > >>>
> > > >>>
> > > >>>
> ---------------------------------------------------------------------
> > > >>> To unsubscribe, e-mail: user-java-unsubscribe@ibatis.apache.org
> > > >>> For additional commands, e-mail: user-java-help@ibatis.apache.org
> > > >>>
> > > >>>
> > > >>
> > > >>
> ---------------------------------------------------------------------
> > > >> To unsubscribe, e-mail: user-java-unsubscribe@ibatis.apache.org
> > > >> For additional commands, e-mail: user-java-help@ibatis.apache.org
> > > >>
> > > >
> > > >
> > > > ---------------------------------------------------------------------
> > > > To unsubscribe, e-mail: user-java-unsubscribe@ibatis.apache.org
> > > > For additional commands, e-mail: user-java-help@ibatis.apache.org
> > > >
> > > >
> > >
> >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: user-java-unsubscribe@ibatis.apache.org
> > For additional commands, e-mail: user-java-help@ibatis.apache.org
> >
> >
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: user-java-unsubscribe@ibatis.apache.org
> For additional commands, e-mail: user-java-help@ibatis.apache.org
>
>

Mime
View raw message