Mark Thomas wrote: > Phil Steitz wrote: >> I added (but have not yet committed) the following test case to validate >> the WHEN_EXHAUSTED_GROW contract. >> >> public void testWhenExhaustedGrow() throws Exception { >> pool.setMaxActive(1); >> pool.setMaxTotal(1); >> pool.setWhenExhaustedAction(GenericObjectPool.WHEN_EXHAUSTED_GROW); >> for (int i = 0; i < 10; i++) { >> pool.borrowObject("a"); >> } >> } >> >> This test causes an NPE in borrowObject. I suspect the problem is here: >> >> if (null == latch.getPair()) { >> try { >> Object obj = _factory.makeObject(key); >> latch.setPair(new ObjectTimestampPair(obj)); >> newlyCreated = true; >> >> In this case, the latch may not at this point have a pool associated >> with it, so when later on we do >> >> latch.getPool().decrementInternalProcessingCount(); >> >> we get NPE On the pool. Do we even want to do the decrement in this >> case? Do we need to force an allocate() somewhere? Should the >> Latch(key) constructor find or create the pool and assign it? > > I see the same NPE. Looking into it now... > > Mark
Fixed. Mark --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org For additional commands, e-mail: dev-h...@commons.apache.org