Hi Phil,

ah great, I can confirm that it is logging something if I add the auto
flush:

https://gist.github.com/ecki/345ee08ac97820972fe7#file-result-autoflush4s-txt

(It even logs the active statements, so I guess it tries to kill them (but
get blocked by my initial problem). What do you think does it make sense to
provide a JDBC compliant abort() variant?)

Gruss
Bernd


2015-07-27 2:02 GMT+02:00 Phil Steitz <[email protected]>:

> On 7/25/15 8:19 AM, Bernd Eckenfels wrote:
> > Am Sat, 25 Jul 2015 07:57:57 -0700
> > schrieb Phil Steitz <[email protected]>:
> >> BasicDataSource allows you to directly set the abandoned connection
> >> log writer.  Your code uses PoolingDataSource, which requires you to
> >> configure the underlying object pool manually, so you need to use
> >> the setLogWriter method of the AbandonedConfig instance you use to
> >> configure the pool.
> > I tried that as well, but it did not help.
> >
> >> Try looking at a thread dump.  Another possibility is that the
> >> evictor thread is hung waiting on a driver action.
> > Thats why the output contains a thread dump, there the evictor thread
> > was idle.
> >
> > I guess I would have to debug it.
>
> I am sorry I did not see the thread dump.  I did some testing and I
> think I now know what is going on.  If you add
> acfg.setLogWriter(new PrintWriter(System.out, true));
>
> you will see the stack trace.  This is a bug in Commons Pool.  The
> default logwriter is not set up to autoflush and the
> DefaultPooledObject (what DBCP uses) does not flush the
> PrintWriter.  Thanks for reporting it and sorry to be slow to dig
> into it.
>
> I will open the pool bug.
>
> Phil
> >
> > Gruss
> > Bernd
> >
>
>
>

Reply via email to