You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@commons.apache.org by Phil Steitz <ph...@gmail.com> on 2010/09/12 20:14:17 UTC

[pool] Start work on 2.0?

I would like to begin working toward a version 2.0 of [pool]. I 
would also like to declare the 1.x codebase as officially "bugfix 
only."  If others are OK with this and there is sufficient interest 
in working toward a pool 2.0, I will cut a 1.x legacy branch and 
start discussing / coding / applying patches for the following 2.0 
features in trunk:

0) Generification (POOL-83)
1) Replace wait/notify with 1.5+ thread management
2) JMX instrumentation and management
3) Remove deprecated methods
4) Instance tracking (holding references to instances under 
management and tracking events of interest from them - meeting DBCP 
AbanonedObjectPool requirement)
5) Clean up and extend pool maintenance

Obviously, this is just my personal wish-list for [pool] and I am 
open to any and all other ideas / itches.  What I would really like 
to know at this point is whether or not there is community interest 
in a modernized version of [pool] containing features like the ones 
listed above.

Ugly as it may be, I think that given the level of reuse of [pool], 
if we do move forward with 2.0, we will have to change the package 
name to "pool2."  So I guess I am asking for consensus to make that 
change in trunk as well.

Thanks in advance!

Phil

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
For additional commands, e-mail: dev-help@commons.apache.org


Re: [pool] Start work on 2.0?

Posted by Simone Tripodi <si...@gmail.com>.
Hi Phil,
thank you, I've been using pool for a long time so now that I've the
chance to contribute is for me the natural way to get back something
to the community :)
Have a nice day,
Simo

http://people.apache.org/~simonetripodi/
http://www.99soft.org/



On Sat, Oct 9, 2010 at 3:26 PM, Phil Steitz <ph...@gmail.com> wrote:
> On 10/8/10 12:24 PM, Simone Tripodi wrote:
>>
>> Hi Phil,
>> I do have some spare time and I'd like working on POOL-83 if someone
>> else hasn't already started, I checked out the code and did some
>> experiments, if everybody agree I could start committing, just let me
>> know.
>
> First, please do jump in! And don't hesitate to ask questions about the
> codebase.  [pool] needs nothing more than more volunteers and talking about
> the code is a great way to get more people involved with it.  Thanks in
> advance!
>
> I just created a legacy 1.x branch, so we can start 2.0 work in trunk.
>  Unless you or others have objections, we seem to be converging on consensus
> to go the "extract from jdbc-pool" route for 2.0 implementation, so I
> suggest having a look at that code before putting a lot of work into
> implementation (other than to just get things to compile). POOL-83 is really
> about interfaces, so I see no problem experimenting with generification
> based on the current impl in trunk.  Also, obviously have a look at the
> patch attached to POOL-83.
>
> Thanks!
>
> Phil
>
>
>> Thanks in advance, have a nice day,
>> Simo
>>
>> http://people.apache.org/~simonetripodi/
>> http://www.99soft.org/
>>
>>
>>
>> On Wed, Sep 15, 2010 at 2:03 PM, Jim Jagielski<ji...@jagunet.com>  wrote:
>>>
>>> On Sep 14, 2010, at 6:20 AM, Mark Thomas wrote:
>>>
>>>> On 14/09/2010 11:17, Benoit Perroud wrote:
>>>>>
>>>>> Dear all,
>>>>>
>>>>> Regarding
>>>>>
>>>>> 1) Replace wait/notify with 1.5+ thread management
>>>>>
>>>>> Is there already any work or ideas on how to use Java util concurrent
>>>>> (JUC)
>>>>
>>>> http://svn.apache.org/viewvc/tomcat/trunk/modules/jdbc-pool/
>>>>
>>>> I'd like to bring these two code bases together if at all possible.
>>>>
>>>
>>> ++1... The above has shown to be pretty stable.
>>>
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
>>> For additional commands, e-mail: dev-help@commons.apache.org
>>>
>>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
>> For additional commands, e-mail: dev-help@commons.apache.org
>>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
> For additional commands, e-mail: dev-help@commons.apache.org
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
For additional commands, e-mail: dev-help@commons.apache.org


Re: [pool] Start work on 2.0?

Posted by Phil Steitz <ph...@gmail.com>.
On 10/8/10 12:24 PM, Simone Tripodi wrote:
> Hi Phil,
> I do have some spare time and I'd like working on POOL-83 if someone
> else hasn't already started, I checked out the code and did some
> experiments, if everybody agree I could start committing, just let me
> know.

First, please do jump in! And don't hesitate to ask questions about 
the codebase.  [pool] needs nothing more than more volunteers and 
talking about the code is a great way to get more people involved 
with it.  Thanks in advance!

I just created a legacy 1.x branch, so we can start 2.0 work in 
trunk.  Unless you or others have objections, we seem to be 
converging on consensus to go the "extract from jdbc-pool" route for 
2.0 implementation, so I suggest having a look at that code before 
putting a lot of work into implementation (other than to just get 
things to compile). POOL-83 is really about interfaces, so I see no 
problem experimenting with generification based on the current impl 
in trunk.  Also, obviously have a look at the patch attached to 
POOL-83.

Thanks!

Phil


> Thanks in advance, have a nice day,
> Simo
>
> http://people.apache.org/~simonetripodi/
> http://www.99soft.org/
>
>
>
> On Wed, Sep 15, 2010 at 2:03 PM, Jim Jagielski<ji...@jagunet.com>  wrote:
>>
>> On Sep 14, 2010, at 6:20 AM, Mark Thomas wrote:
>>
>>> On 14/09/2010 11:17, Benoit Perroud wrote:
>>>> Dear all,
>>>>
>>>> Regarding
>>>>
>>>> 1) Replace wait/notify with 1.5+ thread management
>>>>
>>>> Is there already any work or ideas on how to use Java util concurrent (JUC)
>>>
>>> http://svn.apache.org/viewvc/tomcat/trunk/modules/jdbc-pool/
>>>
>>> I'd like to bring these two code bases together if at all possible.
>>>
>>
>> ++1... The above has shown to be pretty stable.
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
>> For additional commands, e-mail: dev-help@commons.apache.org
>>
>>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
> For additional commands, e-mail: dev-help@commons.apache.org
>


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
For additional commands, e-mail: dev-help@commons.apache.org


Re: [pool] Start work on 2.0?

Posted by Simone Tripodi <si...@gmail.com>.
Hi Phil,
I do have some spare time and I'd like working on POOL-83 if someone
else hasn't already started, I checked out the code and did some
experiments, if everybody agree I could start committing, just let me
know.
Thanks in advance, have a nice day,
Simo

http://people.apache.org/~simonetripodi/
http://www.99soft.org/



On Wed, Sep 15, 2010 at 2:03 PM, Jim Jagielski <ji...@jagunet.com> wrote:
>
> On Sep 14, 2010, at 6:20 AM, Mark Thomas wrote:
>
>> On 14/09/2010 11:17, Benoit Perroud wrote:
>>> Dear all,
>>>
>>> Regarding
>>>
>>> 1) Replace wait/notify with 1.5+ thread management
>>>
>>> Is there already any work or ideas on how to use Java util concurrent (JUC)
>>
>> http://svn.apache.org/viewvc/tomcat/trunk/modules/jdbc-pool/
>>
>> I'd like to bring these two code bases together if at all possible.
>>
>
> ++1... The above has shown to be pretty stable.
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
> For additional commands, e-mail: dev-help@commons.apache.org
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
For additional commands, e-mail: dev-help@commons.apache.org


Re: [pool] Start work on 2.0?

Posted by Jim Jagielski <ji...@jaguNET.com>.
On Sep 14, 2010, at 6:20 AM, Mark Thomas wrote:

> On 14/09/2010 11:17, Benoit Perroud wrote:
>> Dear all,
>> 
>> Regarding
>> 
>> 1) Replace wait/notify with 1.5+ thread management
>> 
>> Is there already any work or ideas on how to use Java util concurrent (JUC)
> 
> http://svn.apache.org/viewvc/tomcat/trunk/modules/jdbc-pool/
> 
> I'd like to bring these two code bases together if at all possible.
> 

++1... The above has shown to be pretty stable.


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
For additional commands, e-mail: dev-help@commons.apache.org


Re: [pool] Start work on 2.0?

Posted by Phil Steitz <ph...@gmail.com>.
On 9/14/10 6:41 AM, Mark Thomas wrote:
> On 14/09/2010 11:34, Phil Steitz wrote:
>> On 9/14/10 6:20 AM, Mark Thomas wrote:
>>> On 14/09/2010 11:17, Benoit Perroud wrote:
>>>> Dear all,
>>>>
>>>> Regarding
>>>>
>>>> 1) Replace wait/notify with 1.5+ thread management
>>>>
>>>> Is there already any work or ideas on how to use Java util concurrent
>>>> (JUC)
>>>
>>> http://svn.apache.org/viewvc/tomcat/trunk/modules/jdbc-pool/
>>>
>>> I'd like to bring these two code bases together if at all possible.
>>>
>> +1
>>
>> Let's talk about this.  The guts of "modernization" looks like it is
>> there and we can likely avoid some painful stabilization if we can do that.
>
> Absolutely. Whilst the code hasn't been officially released by the
> Tomcat project, $work has been shipping it in a Tomcat based product
> with jdbc-pool as the default instead of DBCP. We have seen the odd bug
> but nothing significant.
>
> I would say the overall package is not as feature rich / complete as
> DBCP (some stuff is optional, requires a little custom code) but the
> pool side of things should be good to go.
>
> I'm busy at the moment but may have some time post JavaOne to contribute
> to this.

Great.  I will start looking at the code and playing with ideas for 
how to extract the pool.  Lets also continue the features / API 
discussion here so we can chart a path forward.

Thanks!

Phil
>
> Mark
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
> For additional commands, e-mail: dev-help@commons.apache.org
>


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
For additional commands, e-mail: dev-help@commons.apache.org


Re: [pool] Start work on 2.0?

Posted by Mark Thomas <ma...@apache.org>.
On 14/09/2010 11:34, Phil Steitz wrote:
> On 9/14/10 6:20 AM, Mark Thomas wrote:
>> On 14/09/2010 11:17, Benoit Perroud wrote:
>>> Dear all,
>>>
>>> Regarding
>>>
>>> 1) Replace wait/notify with 1.5+ thread management
>>>
>>> Is there already any work or ideas on how to use Java util concurrent
>>> (JUC)
>>
>> http://svn.apache.org/viewvc/tomcat/trunk/modules/jdbc-pool/
>>
>> I'd like to bring these two code bases together if at all possible.
>>
> +1
> 
> Let's talk about this.  The guts of "modernization" looks like it is
> there and we can likely avoid some painful stabilization if we can do that.

Absolutely. Whilst the code hasn't been officially released by the
Tomcat project, $work has been shipping it in a Tomcat based product
with jdbc-pool as the default instead of DBCP. We have seen the odd bug
but nothing significant.

I would say the overall package is not as feature rich / complete as
DBCP (some stuff is optional, requires a little custom code) but the
pool side of things should be good to go.

I'm busy at the moment but may have some time post JavaOne to contribute
to this.

Mark

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
For additional commands, e-mail: dev-help@commons.apache.org


Re: [pool] Start work on 2.0?

Posted by Phil Steitz <ph...@gmail.com>.
On 9/14/10 6:20 AM, Mark Thomas wrote:
> On 14/09/2010 11:17, Benoit Perroud wrote:
>> Dear all,
>>
>> Regarding
>>
>> 1) Replace wait/notify with 1.5+ thread management
>>
>> Is there already any work or ideas on how to use Java util concurrent (JUC)
>
> http://svn.apache.org/viewvc/tomcat/trunk/modules/jdbc-pool/
>
> I'd like to bring these two code bases together if at all possible.
>
+1

Let's talk about this.  The guts of "modernization" looks like it is 
there and we can likely avoid some painful stabilization if we can 
do that.

Phil


> Mark
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
> For additional commands, e-mail: dev-help@commons.apache.org
>


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
For additional commands, e-mail: dev-help@commons.apache.org


Re: [pool] Start work on 2.0?

Posted by Mark Thomas <ma...@apache.org>.
On 14/09/2010 11:17, Benoit Perroud wrote:
> Dear all,
> 
> Regarding
> 
> 1) Replace wait/notify with 1.5+ thread management
> 
> Is there already any work or ideas on how to use Java util concurrent (JUC)

http://svn.apache.org/viewvc/tomcat/trunk/modules/jdbc-pool/

I'd like to bring these two code bases together if at all possible.

Mark

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
For additional commands, e-mail: dev-help@commons.apache.org


Re: [pool] Start work on 2.0?

Posted by Phil Steitz <ph...@gmail.com>.
On 9/14/10 6:17 AM, Benoit Perroud wrote:
> Dear all,
>
> Regarding
>
> 1) Replace wait/notify with 1.5+ thread management
>
> Is there already any work or ideas on how to use Java util concurrent (JUC)
> ?
>
That is what I meant.

> I did some tests with BlockingDeque as objects repository (Deque instead of
> Queue to be able to achieve FIFO or LIFO behavior) and AtomicInteger as
> counter, it works quite well.
>
> But during my tests, I challenged the maxActive limit, and found more
> convenient to have another quite different limit which is something like
> "absolute max of objects in the pool" instead of maxActive. Using *Active
> and *Idle counters can lead to objects already returned to the pool, but not
> counted everywhere.

One thing we will want to talk about is whether or not to keep the 
current semantics for object counting and tracking.  That is part of 
what I meant by item 4 below.
>
> Happy to participate to the refactoring :)
>

Welcome!

Phil
> Kind regards,
>
> Benoit.
>
>
> 2010/9/13 Gary Gregory<GG...@seagullsoftware.com>
>
>> Yes, moving forward would be great. Foremost on my list is:
>>
>> 0) Generification (POOL-83)
>>
>> All other items are fine with me but generics is #1.
>>
>>> "pool2."
>>
>> That's fine by me, since removing (deprecated) methods breaks
>> compatibility.
>>
>> Gary
>> -
>> Gary Gregory
>> Senior Software Engineer
>> Seagull Software
>> email: ggregory@seagullsoftware.com
>> email: ggregory@apache.org
>> www.seagullsoftware.com
>>
>>
>> -----Original Message-----
>> From: Phil Steitz [mailto:phil.steitz@gmail.com]
>> Sent: Sunday, September 12, 2010 11:14
>> To: Commons Developers List
>> Subject: [pool] Start work on 2.0?
>>
>> I would like to begin working toward a version 2.0 of [pool]. I
>> would also like to declare the 1.x codebase as officially "bugfix
>> only."  If others are OK with this and there is sufficient interest
>> in working toward a pool 2.0, I will cut a 1.x legacy branch and
>> start discussing / coding / applying patches for the following 2.0
>> features in trunk:
>>
>> 0) Generification (POOL-83)
>> 1) Replace wait/notify with 1.5+ thread management
>> 2) JMX instrumentation and management
>> 3) Remove deprecated methods
>> 4) Instance tracking (holding references to instances under
>> management and tracking events of interest from them - meeting DBCP
>> AbanonedObjectPool requirement)
>> 5) Clean up and extend pool maintenance
>>
>> Obviously, this is just my personal wish-list for [pool] and I am
>> open to any and all other ideas / itches.  What I would really like
>> to know at this point is whether or not there is community interest
>> in a modernized version of [pool] containing features like the ones
>> listed above.
>>
>> Ugly as it may be, I think that given the level of reuse of [pool],
>> if we do move forward with 2.0, we will have to change the package
>> name to "pool2."  So I guess I am asking for consensus to make that
>> change in trunk as well.
>>
>> Thanks in advance!
>>
>> Phil
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
>> For additional commands, e-mail: dev-help@commons.apache.org
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
>> For additional commands, e-mail: dev-help@commons.apache.org
>>
>>
>


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
For additional commands, e-mail: dev-help@commons.apache.org


Re: [pool] Start work on 2.0?

Posted by Benoit Perroud <ki...@gmail.com>.
Dear all,

Regarding

1) Replace wait/notify with 1.5+ thread management

Is there already any work or ideas on how to use Java util concurrent (JUC)
?

I did some tests with BlockingDeque as objects repository (Deque instead of
Queue to be able to achieve FIFO or LIFO behavior) and AtomicInteger as
counter, it works quite well.

But during my tests, I challenged the maxActive limit, and found more
convenient to have another quite different limit which is something like
"absolute max of objects in the pool" instead of maxActive. Using *Active
and *Idle counters can lead to objects already returned to the pool, but not
counted everywhere.

Happy to participate to the refactoring :)

Kind regards,

Benoit.


2010/9/13 Gary Gregory <GG...@seagullsoftware.com>

> Yes, moving forward would be great. Foremost on my list is:
>
> 0) Generification (POOL-83)
>
> All other items are fine with me but generics is #1.
>
> > "pool2."
>
> That's fine by me, since removing (deprecated) methods breaks
> compatibility.
>
> Gary
> -
> Gary Gregory
> Senior Software Engineer
> Seagull Software
> email: ggregory@seagullsoftware.com
> email: ggregory@apache.org
> www.seagullsoftware.com
>
>
> -----Original Message-----
> From: Phil Steitz [mailto:phil.steitz@gmail.com]
> Sent: Sunday, September 12, 2010 11:14
> To: Commons Developers List
> Subject: [pool] Start work on 2.0?
>
> I would like to begin working toward a version 2.0 of [pool]. I
> would also like to declare the 1.x codebase as officially "bugfix
> only."  If others are OK with this and there is sufficient interest
> in working toward a pool 2.0, I will cut a 1.x legacy branch and
> start discussing / coding / applying patches for the following 2.0
> features in trunk:
>
> 0) Generification (POOL-83)
> 1) Replace wait/notify with 1.5+ thread management
> 2) JMX instrumentation and management
> 3) Remove deprecated methods
> 4) Instance tracking (holding references to instances under
> management and tracking events of interest from them - meeting DBCP
> AbanonedObjectPool requirement)
> 5) Clean up and extend pool maintenance
>
> Obviously, this is just my personal wish-list for [pool] and I am
> open to any and all other ideas / itches.  What I would really like
> to know at this point is whether or not there is community interest
> in a modernized version of [pool] containing features like the ones
> listed above.
>
> Ugly as it may be, I think that given the level of reuse of [pool],
> if we do move forward with 2.0, we will have to change the package
> name to "pool2."  So I guess I am asking for consensus to make that
> change in trunk as well.
>
> Thanks in advance!
>
> Phil
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
> For additional commands, e-mail: dev-help@commons.apache.org
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
> For additional commands, e-mail: dev-help@commons.apache.org
>
>

RE: [pool] Start work on 2.0?

Posted by Gary Gregory <GG...@seagullsoftware.com>.
Yes, moving forward would be great. Foremost on my list is:

0) Generification (POOL-83)

All other items are fine with me but generics is #1.

> "pool2."

That's fine by me, since removing (deprecated) methods breaks compatibility.

Gary
-
Gary Gregory
Senior Software Engineer
Seagull Software
email: ggregory@seagullsoftware.com
email: ggregory@apache.org
www.seagullsoftware.com 


-----Original Message-----
From: Phil Steitz [mailto:phil.steitz@gmail.com] 
Sent: Sunday, September 12, 2010 11:14
To: Commons Developers List
Subject: [pool] Start work on 2.0?

I would like to begin working toward a version 2.0 of [pool]. I 
would also like to declare the 1.x codebase as officially "bugfix 
only."  If others are OK with this and there is sufficient interest 
in working toward a pool 2.0, I will cut a 1.x legacy branch and 
start discussing / coding / applying patches for the following 2.0 
features in trunk:

0) Generification (POOL-83)
1) Replace wait/notify with 1.5+ thread management
2) JMX instrumentation and management
3) Remove deprecated methods
4) Instance tracking (holding references to instances under 
management and tracking events of interest from them - meeting DBCP 
AbanonedObjectPool requirement)
5) Clean up and extend pool maintenance

Obviously, this is just my personal wish-list for [pool] and I am 
open to any and all other ideas / itches.  What I would really like 
to know at this point is whether or not there is community interest 
in a modernized version of [pool] containing features like the ones 
listed above.

Ugly as it may be, I think that given the level of reuse of [pool], 
if we do move forward with 2.0, we will have to change the package 
name to "pool2."  So I guess I am asking for consensus to make that 
change in trunk as well.

Thanks in advance!

Phil

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
For additional commands, e-mail: dev-help@commons.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
For additional commands, e-mail: dev-help@commons.apache.org