commons-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Gary Gregory <garydgreg...@gmail.com>
Subject Re: [dbcp] update to pool 2.4.3.
Date Mon, 30 Oct 2017 16:56:36 GMT
Yes, thank you Matt. As mentioned previously on this thread, the missing
method information can make it fiendishly difficult to track resource leaks.

Gary

On Mon, Oct 30, 2017 at 10:50 AM, Matt Sicker <boards@gmail.com> wrote:

> Yes, I can look into this over the next couple days. I'd imagine this
> should be configurable whether you want just the class or if you need more
> info for leakage detection.
>
> On 30 October 2017 at 10:31, Gary Gregory <garydgregory@gmail.com> wrote:
>
> > Hi Matt,
> >
> > Can you provide a patch to add an option to restore the behavior from we
> > had in 2.4.2?
> >
> > Gary
> >
> > On Sun, Oct 29, 2017 at 2:32 PM, Matt Sicker <boards@gmail.com> wrote:
> >
> > > It's been a while since I looked at that, but from what I can tell, if
> > the
> > > method name needs to be tracked as well as the class name, then the
> > > SecurityManager solution isn't practical at all. Pre Java 9 would need
> to
> > > use a Throwable no matter what, while Java 9+ can use StackWalker.
> > >
> > > On 29 October 2017 at 10:51, Gary Gregory <garydgregory@gmail.com>
> > wrote:
> > >
> > > > On Oct 29, 2017 02:21, "Pascal Schumacher" <pascalschumacher@gmx.net
> >
> > > > wrote:
> > > >
> > > > Am 29.10.2017 um 09:09 schrieb Mark Thomas:
> > > >
> > > > > On 29 October 2017 03:54:40 GMT+00:00, "Bruno P. Kinoshita" <
> > > > > brunodepaulak@yahoo.com.br.INVALID> wrote:
> > > > >
> > > > >> Hi Gary,
> > > > >>
> > > > >> Started the tests in Maven command line, found which tests failed.
> > > > >> Executed the tests in Eclipse, found which class was related
to
> the
> > > > >> failure. Then did a diff between both tags.
> > > > >>
> > > > >> git diff POOL_2_4_2 POOL_2.4.3-RC1 --
> > > > >> ./src/main/java/org/apache/commons/pool2/impl/
> > > DefaultPooledObject.java
> > > > >>
> > > > >> The short diff indicates that the failures started possibly due
to
> > the
> > > > >> replacement of Exceptions in the DefaultPooledObject by a
> CallStack.
> > > > >> Looks like the CallStack does not keep track of all the methods
> > called
> > > > >> (due to a security context manager from what I could tell?).
Only
> > > > >> classes.
> > > > >>
> > > > >> The following pull request updates pool to 2.4.3, and changes
the
> > unit
> > > > >> tests to, instead of looking for method names in the log writer
> > > output,
> > > > >> to look for the test class name.
> > > > >>
> > > > >>     https://github.com/apache/commons-dbcp/pull/8
> > > > >>
> > > > >>
> > > > >> Feel free to review and merge if you agree it's a good solution.
> > > > >>
> > > > > I'm not sure it is a good solution. I need to look at what is going
> > on
> > > in
> > > > > more detail but if the method information has been lost then that
> > will
> > > > make
> > > > > tracking down the root cause of a pool leak much, much harder.
> > > > >
> > > >
> > > > I guess this was caused by:
> > > >
> > > > [POOL-320]: Use more efficient stack walking mechanisms for usage
> > > tracking
> > > >
> > > > https://github.com/apache/commons-pool/commit/3994baf0f3ce59
> > > > b73bd36e869320275d757d1884
> > > >
> > > >
> > > > Matt,
> > > >
> > > > Any thoughts on the missing method names?
> > > >
> > > > Gary
> > > >
> > >
> > >
> > >
> > > --
> > > Matt Sicker <boards@gmail.com>
> > >
> >
>
>
>
> --
> Matt Sicker <boards@gmail.com>
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message