No need to apologize 😀 We all have complex system to deal with all over
the place.

Gary

On Fri, May 31, 2024, 5:55 PM Phil Steitz <phil.ste...@gmail.com> wrote:

> Thx and sorry.
>
> Phil
>
> On Fri, May 31, 2024 at 1:45 PM Gary D. Gregory <ggreg...@apache.org>
> wrote:
>
> > Hello Phil,
> >
> > Before you push, run 'mvn' (buy itself), this runs the default goal,
> which
> > contains all build checks.
> >
> > If see the code coverage report, regardless of coverage failures, run:
> >
> > mvn clean site -Dcommons.jacoco.haltOnFailure=false
> >
> > I'll update the readme...
> >
> > TY,
> > Gary
> >
> > On 2024/05/31 20:12:09 Phil Steitz wrote:
> > > The build worked locally for me fine.  I could not get the site to
> build.
> > > Is there some sequence that I need to use to get the site to build?  I
> > did
> > > run Checksytle and Findbugs separately.  What is the test coverage
> plugin
> > > and how do I run that?
> > >
> > > Phil
> > >
> > > On Fri, May 31, 2024 at 11:53 AM Gary Gregory <garydgreg...@gmail.com>
> > > wrote:
> > >
> > > > Hi Phil,
> > > >
> > > > Thank you for the note. I'll try to take a look soon.
> > > >
> > > > The new code causes the build to fail as it looks like not all of it
> is
> > > > covered by unit tests.
> > > >
> > > > Gary
> > > >
> > > >
> > > > On Fri, May 31, 2024, 2:29 PM Phil Steitz <phil.ste...@gmail.com>
> > wrote:
> > > >
> > > > > I just committed  a first attempt at providing the above, intended
> > as a
> > > > fix
> > > > > for POOL-407 and a lot of similar issues reported over the years.
> > The
> > > > > scenario in POOL-407 is common when resource providers (like
> > databases)
> > > > go
> > > > > down:
> > > > >
> > > > > 1. makeObject requests start to fail and threads line up waiting on
> > the
> > > > > deque.
> > > > > 2. The provider comes back up so makes will succeed again, but the
> > > > clients,
> > > > > the pool and the factory are all ignorant of this fact, so no
> > clients get
> > > > > served.
> > > > >
> > > > > What I just committed puts the resilience responsibility on the
> > factory,
> > > > > having it monitor itself.  That responsibility could arguably be
> put
> > > > > instead on the pool.
> > > > >
> > > > > To use the feature as is, you need to create a
> > > > ResilientPooledObjectFactory
> > > > > wrapping a PooledObjectFactory, configure it, attach it to its pool
> > and
> > > > > start its monitor.  The formerly disabled GOP test,
> > > > > testLivenessOnTransientFactoryFailure, shows how to do it.  The
> > setup is
> > > > a
> > > > > little awkward.  I would appreciate feedback on the following
> > options for
> > > > > how to improve it (or any other comments on the code):
> > > > >
> > > > > 0) Roll it back and come up with something better
> > > > > 1) Leave as is
> > > > > 2) add a GOP config that results in its factory being wrapped
> > > > automatically
> > > > > in a RPOF.
> > > > > 3) move the functionality into the pool
> > > > >
> > > > > The other thing that needs to be designed is how to make the
> > proactive
> > > > make
> > > > > attempt strategy configurable.  It is hard-coded now in the RPOF
> > > > runChecks
> > > > > and the Adder inner class.  The initial implementation is
> primitive:
> > > > > Monitor the makeObject log.  Any failure triggers start of an Adder
> > that
> > > > > tries addObject with configurable delay and (hard-coded) max
> > failures.
> > > > > Once the circular log becomes filled with successes, turn the adder
> > off.
> > > > >
> > > > > Also, RPOF spawns a monitoring thread and, when it detects a
> > transient
> > > > > failure, an adder thread.  Careful review - and improvement - of
> the
> > > > > management of these threads would be appreciated.  I tried to make
> > sure,
> > > > > and added tests to confirm, that closing the pool kills these
> > threads.
> > > > >
> > > > > Phil
> > > > >
> > > >
> > >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org
> > For additional commands, e-mail: dev-h...@commons.apache.org
> >
> >
>

Reply via email to