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