You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hc.apache.org by Oleg Kalnichevski <ol...@apache.org> on 2019/11/26 15:41:59 UTC

HttpCore 4.5.x branch

Folks

I would like to create new 4.5.x branch in HttpCore and do the
following

* change its version to 4.5.0-alpha1

* change its JRE level from 1.6 to 1.7

* back-port new connection pool implementations from master to that
branch

* deprecate old connection pool implementations

Would anyone have any objections to that?

Obviously all new features would need to the 4.5.x branch and not
4.4.x. The 4.4.x would be for critical bug fixes only.

Oleg


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


Re: HttpCore 4.5.x branch

Posted by Oleg Kalnichevski <ol...@apache.org>.
On Tue, 2019-11-26 at 21:19 +0100, Michael Osipov wrote:
> 

...

> > > > > Is Commons Pool an option? Or even the high-performance
> > > > > Tomcat
> > > > > JDBC
> > > > > Pool
> > > > > stripped for the JDBC part? It is little code compared to
> > > > > Commons
> > > > > Pool.
> > > > > 
> > > > 
> > > > It is an option but what would exactly be the upside? On the
> > > > downside
> > > > we would likely lose the ability to support stateful
> > > > connections
> > > > that
> > > > we presently have in 4.x and 5.x.
> > > 
> > > Upside: we use well tested, existing ASF code.
> > > 
> > 
> > Are you sure?
> 
> Tomcat JDBC Pool has been shipped since 7.0 as a high perf
> alternative 
> to Commons DBCP.
> 
> But you want maybe to run your own tests to verify it will be better 
> than the current pool HttpAsyncClient uses.
> There is also HikariCP under Apache 2.0.
> 
> Just trying to open options to avoid reinventing the wheel.
> 

That wheel got reinvented 15 years ago and got specifically tailored to
HttpClient requirements. So far I have seen no evidence of other wheels
being any better.

Oleg 



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


Re: HttpCore 4.5.x branch

Posted by Michael Osipov <mi...@apache.org>.
Am 2019-11-26 um 21:07 schrieb Oleg Kalnichevski:
> On Tue, 2019-11-26 at 20:56 +0100, Michael Osipov wrote:
>> Am 2019-11-26 um 20:51 schrieb Oleg Kalnichevski:
>>> On Tue, 2019-11-26 at 20:31 +0100, Michael Osipov wrote:
>>>> Am 2019-11-26 um 20:13 schrieb Oleg Kalnichevski:
>>>>> On Tue, 2019-11-26 at 19:08 +0100, Michael Osipov wrote:
>>>>>> Am 2019-11-26 um 16:41 schrieb Oleg Kalnichevski:
>>>>>>> Folks
>>>>>>>
>>>>>>> I would like to create new 4.5.x branch in HttpCore and do
>>>>>>> the
>>>>>>> following
>>>>>>>
>>>>>>> * change its version to 4.5.0-alpha1
>>>>>>>
>>>>>>> * change its JRE level from 1.6 to 1.7
>>>>>>>
>>>>>>> * back-port new connection pool implementations from master
>>>>>>> to
>>>>>>> that
>>>>>>> branch
>>>>>>>
>>>>>>> * deprecate old connection pool implementations
>>>>>>>
>>>>>>> Would anyone have any objections to that?
>>>>>>>
>>>>>>> Obviously all new features would need to the 4.5.x branch
>>>>>>> and
>>>>>>> not
>>>>>>> 4.4.x. The 4.4.x would be for critical bug fixes only.
>>>>>>
>>>>>> I don't understand why you want to do that? Do you want to
>>>>>> evolve
>>>>>> the
>>>>>> 4.x branch in parallel to master like Tomcat does? I thought
>>>>>> 5.0
>>>>>> is
>>>>>> a
>>>>>> successor to the 4.x line.
>>>>>>
>>>>>
>>>>> Realistically we cannot deprecate and stop supporting the 4.x
>>>>> code
>>>>> line
>>>>> the same moment 5.0 goes GA. We will have to support both 4.x
>>>>> and
>>>>> 5.x
>>>>> for quite some time.
>>>>
>>>> Yes, I see. That makes sense. We should also agree how long the
>>>> 4.x
>>>> is
>>>> going to be supported and how the support will look like. Fixes
>>>> only,
>>>> or
>>>> backports too.
>>>>
>>>>> Recently the old connection pooling code in HttpAsyncClient has
>>>>> been
>>>>> giving me quite some grief. Ideally I would like to be able to
>>>>> replace
>>>>> it with something known to be better instead of having to patch
>>>>> the
>>>>> old
>>>>> implementation all the time.
>>>>
>>>> Is Commons Pool an option? Or even the high-performance Tomcat
>>>> JDBC
>>>> Pool
>>>> stripped for the JDBC part? It is little code compared to Commons
>>>> Pool.
>>>>
>>>
>>> It is an option but what would exactly be the upside? On the
>>> downside
>>> we would likely lose the ability to support stateful connections
>>> that
>>> we presently have in 4.x and 5.x.
>>
>> Upside: we use well tested, existing ASF code.
>>
> 
> Are you sure?

Tomcat JDBC Pool has been shipped since 7.0 as a high perf alternative 
to Commons DBCP.

But you want maybe to run your own tests to verify it will be better 
than the current pool HttpAsyncClient uses.
There is also HikariCP under Apache 2.0.

Just trying to open options to avoid reinventing the wheel.

Michael

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


Re: HttpCore 4.5.x branch

Posted by Oleg Kalnichevski <ol...@apache.org>.
On Tue, 2019-11-26 at 20:56 +0100, Michael Osipov wrote:
> Am 2019-11-26 um 20:51 schrieb Oleg Kalnichevski:
> > On Tue, 2019-11-26 at 20:31 +0100, Michael Osipov wrote:
> > > Am 2019-11-26 um 20:13 schrieb Oleg Kalnichevski:
> > > > On Tue, 2019-11-26 at 19:08 +0100, Michael Osipov wrote:
> > > > > Am 2019-11-26 um 16:41 schrieb Oleg Kalnichevski:
> > > > > > Folks
> > > > > > 
> > > > > > I would like to create new 4.5.x branch in HttpCore and do
> > > > > > the
> > > > > > following
> > > > > > 
> > > > > > * change its version to 4.5.0-alpha1
> > > > > > 
> > > > > > * change its JRE level from 1.6 to 1.7
> > > > > > 
> > > > > > * back-port new connection pool implementations from master
> > > > > > to
> > > > > > that
> > > > > > branch
> > > > > > 
> > > > > > * deprecate old connection pool implementations
> > > > > > 
> > > > > > Would anyone have any objections to that?
> > > > > > 
> > > > > > Obviously all new features would need to the 4.5.x branch
> > > > > > and
> > > > > > not
> > > > > > 4.4.x. The 4.4.x would be for critical bug fixes only.
> > > > > 
> > > > > I don't understand why you want to do that? Do you want to
> > > > > evolve
> > > > > the
> > > > > 4.x branch in parallel to master like Tomcat does? I thought
> > > > > 5.0
> > > > > is
> > > > > a
> > > > > successor to the 4.x line.
> > > > > 
> > > > 
> > > > Realistically we cannot deprecate and stop supporting the 4.x
> > > > code
> > > > line
> > > > the same moment 5.0 goes GA. We will have to support both 4.x
> > > > and
> > > > 5.x
> > > > for quite some time.
> > > 
> > > Yes, I see. That makes sense. We should also agree how long the
> > > 4.x
> > > is
> > > going to be supported and how the support will look like. Fixes
> > > only,
> > > or
> > > backports too.
> > > 
> > > > Recently the old connection pooling code in HttpAsyncClient has
> > > > been
> > > > giving me quite some grief. Ideally I would like to be able to
> > > > replace
> > > > it with something known to be better instead of having to patch
> > > > the
> > > > old
> > > > implementation all the time.
> > > 
> > > Is Commons Pool an option? Or even the high-performance Tomcat
> > > JDBC
> > > Pool
> > > stripped for the JDBC part? It is little code compared to Commons
> > > Pool.
> > > 
> > 
> > It is an option but what would exactly be the upside? On the
> > downside
> > we would likely lose the ability to support stateful connections
> > that
> > we presently have in 4.x and 5.x.
> 
> Upside: we use well tested, existing ASF code.
> 

Are you sure?

Oleg



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


Re: HttpCore 4.5.x branch

Posted by Michael Osipov <mi...@apache.org>.
Am 2019-11-26 um 20:51 schrieb Oleg Kalnichevski:
> On Tue, 2019-11-26 at 20:31 +0100, Michael Osipov wrote:
>> Am 2019-11-26 um 20:13 schrieb Oleg Kalnichevski:
>>> On Tue, 2019-11-26 at 19:08 +0100, Michael Osipov wrote:
>>>> Am 2019-11-26 um 16:41 schrieb Oleg Kalnichevski:
>>>>> Folks
>>>>>
>>>>> I would like to create new 4.5.x branch in HttpCore and do the
>>>>> following
>>>>>
>>>>> * change its version to 4.5.0-alpha1
>>>>>
>>>>> * change its JRE level from 1.6 to 1.7
>>>>>
>>>>> * back-port new connection pool implementations from master to
>>>>> that
>>>>> branch
>>>>>
>>>>> * deprecate old connection pool implementations
>>>>>
>>>>> Would anyone have any objections to that?
>>>>>
>>>>> Obviously all new features would need to the 4.5.x branch and
>>>>> not
>>>>> 4.4.x. The 4.4.x would be for critical bug fixes only.
>>>>
>>>> I don't understand why you want to do that? Do you want to evolve
>>>> the
>>>> 4.x branch in parallel to master like Tomcat does? I thought 5.0
>>>> is
>>>> a
>>>> successor to the 4.x line.
>>>>
>>>
>>> Realistically we cannot deprecate and stop supporting the 4.x code
>>> line
>>> the same moment 5.0 goes GA. We will have to support both 4.x and
>>> 5.x
>>> for quite some time.
>>
>> Yes, I see. That makes sense. We should also agree how long the 4.x
>> is
>> going to be supported and how the support will look like. Fixes only,
>> or
>> backports too.
>>
>>> Recently the old connection pooling code in HttpAsyncClient has
>>> been
>>> giving me quite some grief. Ideally I would like to be able to
>>> replace
>>> it with something known to be better instead of having to patch the
>>> old
>>> implementation all the time.
>>
>> Is Commons Pool an option? Or even the high-performance Tomcat JDBC
>> Pool
>> stripped for the JDBC part? It is little code compared to Commons
>> Pool.
>>
> 
> It is an option but what would exactly be the upside? On the downside
> we would likely lose the ability to support stateful connections that
> we presently have in 4.x and 5.x.

Upside: we use well tested, existing ASF code.

Can you describe why we would lose stateful connections? Database 
connections are stateful too.

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


Re: HttpCore 4.5.x branch

Posted by Oleg Kalnichevski <ol...@apache.org>.
On Tue, 2019-11-26 at 20:31 +0100, Michael Osipov wrote:
> Am 2019-11-26 um 20:13 schrieb Oleg Kalnichevski:
> > On Tue, 2019-11-26 at 19:08 +0100, Michael Osipov wrote:
> > > Am 2019-11-26 um 16:41 schrieb Oleg Kalnichevski:
> > > > Folks
> > > > 
> > > > I would like to create new 4.5.x branch in HttpCore and do the
> > > > following
> > > > 
> > > > * change its version to 4.5.0-alpha1
> > > > 
> > > > * change its JRE level from 1.6 to 1.7
> > > > 
> > > > * back-port new connection pool implementations from master to
> > > > that
> > > > branch
> > > > 
> > > > * deprecate old connection pool implementations
> > > > 
> > > > Would anyone have any objections to that?
> > > > 
> > > > Obviously all new features would need to the 4.5.x branch and
> > > > not
> > > > 4.4.x. The 4.4.x would be for critical bug fixes only.
> > > 
> > > I don't understand why you want to do that? Do you want to evolve
> > > the
> > > 4.x branch in parallel to master like Tomcat does? I thought 5.0
> > > is
> > > a
> > > successor to the 4.x line.
> > > 
> > 
> > Realistically we cannot deprecate and stop supporting the 4.x code
> > line
> > the same moment 5.0 goes GA. We will have to support both 4.x and
> > 5.x
> > for quite some time.
> 
> Yes, I see. That makes sense. We should also agree how long the 4.x
> is 
> going to be supported and how the support will look like. Fixes only,
> or 
> backports too.
> 
> > Recently the old connection pooling code in HttpAsyncClient has
> > been
> > giving me quite some grief. Ideally I would like to be able to
> > replace
> > it with something known to be better instead of having to patch the
> > old
> > implementation all the time.
> 
> Is Commons Pool an option? Or even the high-performance Tomcat JDBC
> Pool 
> stripped for the JDBC part? It is little code compared to Commons
> Pool.
> 

It is an option but what would exactly be the upside? On the downside
we would likely lose the ability to support stateful connections that
we presently have in 4.x and 5.x. 


Oleg


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


Re: HttpCore 4.5.x branch

Posted by Michael Osipov <mi...@apache.org>.
Am 2019-11-26 um 20:13 schrieb Oleg Kalnichevski:
> On Tue, 2019-11-26 at 19:08 +0100, Michael Osipov wrote:
>> Am 2019-11-26 um 16:41 schrieb Oleg Kalnichevski:
>>> Folks
>>>
>>> I would like to create new 4.5.x branch in HttpCore and do the
>>> following
>>>
>>> * change its version to 4.5.0-alpha1
>>>
>>> * change its JRE level from 1.6 to 1.7
>>>
>>> * back-port new connection pool implementations from master to that
>>> branch
>>>
>>> * deprecate old connection pool implementations
>>>
>>> Would anyone have any objections to that?
>>>
>>> Obviously all new features would need to the 4.5.x branch and not
>>> 4.4.x. The 4.4.x would be for critical bug fixes only.
>>
>> I don't understand why you want to do that? Do you want to evolve
>> the
>> 4.x branch in parallel to master like Tomcat does? I thought 5.0 is
>> a
>> successor to the 4.x line.
>>
> 
> Realistically we cannot deprecate and stop supporting the 4.x code line
> the same moment 5.0 goes GA. We will have to support both 4.x and 5.x
> for quite some time.

Yes, I see. That makes sense. We should also agree how long the 4.x is 
going to be supported and how the support will look like. Fixes only, or 
backports too.

> Recently the old connection pooling code in HttpAsyncClient has been
> giving me quite some grief. Ideally I would like to be able to replace
> it with something known to be better instead of having to patch the old
> implementation all the time.

Is Commons Pool an option? Or even the high-performance Tomcat JDBC Pool 
stripped for the JDBC part? It is little code compared to Commons Pool.

Michael

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


Re: HttpCore 4.5.x branch

Posted by Oleg Kalnichevski <ol...@apache.org>.
On Tue, 2019-11-26 at 19:08 +0100, Michael Osipov wrote:
> Am 2019-11-26 um 16:41 schrieb Oleg Kalnichevski:
> > Folks
> > 
> > I would like to create new 4.5.x branch in HttpCore and do the
> > following
> > 
> > * change its version to 4.5.0-alpha1
> > 
> > * change its JRE level from 1.6 to 1.7
> > 
> > * back-port new connection pool implementations from master to that
> > branch
> > 
> > * deprecate old connection pool implementations
> > 
> > Would anyone have any objections to that?
> > 
> > Obviously all new features would need to the 4.5.x branch and not
> > 4.4.x. The 4.4.x would be for critical bug fixes only.
> 
> I don't understand why you want to do that? Do you want to evolve
> the 
> 4.x branch in parallel to master like Tomcat does? I thought 5.0 is
> a 
> successor to the 4.x line.
> 

Realistically we cannot deprecate and stop supporting the 4.x code line
the same moment 5.0 goes GA. We will have to support both 4.x and 5.x
for quite some time.

Recently the old connection pooling code in HttpAsyncClient has been
giving me quite some grief. Ideally I would like to be able to replace
it with something known to be better instead of having to patch the old
implementation all the time.

Oleg



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


Re: HttpCore 4.5.x branch

Posted by Michael Osipov <mi...@apache.org>.
Am 2019-11-26 um 16:41 schrieb Oleg Kalnichevski:
> Folks
> 
> I would like to create new 4.5.x branch in HttpCore and do the
> following
> 
> * change its version to 4.5.0-alpha1
> 
> * change its JRE level from 1.6 to 1.7
> 
> * back-port new connection pool implementations from master to that
> branch
> 
> * deprecate old connection pool implementations
> 
> Would anyone have any objections to that?
> 
> Obviously all new features would need to the 4.5.x branch and not
> 4.4.x. The 4.4.x would be for critical bug fixes only.

I don't understand why you want to do that? Do you want to evolve the 
4.x branch in parallel to master like Tomcat does? I thought 5.0 is a 
successor to the 4.x line.


Michael

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


Re: HttpCore 4.5.x branch

Posted by Gary Gregory <ga...@gmail.com>.
+1.

May we assume that 4.5 would be binary compatible with 4.4?

Gary

On Tue, Nov 26, 2019, 10:42 Oleg Kalnichevski <ol...@apache.org> wrote:

> Folks
>
> I would like to create new 4.5.x branch in HttpCore and do the
> following
>
> * change its version to 4.5.0-alpha1
>
> * change its JRE level from 1.6 to 1.7
>
> * back-port new connection pool implementations from master to that
> branch
>
> * deprecate old connection pool implementations
>
> Would anyone have any objections to that?
>
> Obviously all new features would need to the 4.5.x branch and not
> 4.4.x. The 4.4.x would be for critical bug fixes only.
>
> Oleg
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@hc.apache.org
> For additional commands, e-mail: dev-help@hc.apache.org
>
>

Re: HttpCore 4.5.x branch

Posted by Oleg Kalnichevski <ol...@apache.org>.
On Fri, 2019-11-29 at 15:38 -0500, Gary Gregory wrote:
> I think we should assume that we will keep binary compatibility.
> 
> The next question is whether the new pooling code becomes the default
> behavior or needs to be enabled.
> 

We have been keeping the 4.x codeline fully backward compatible for
over a decade. I see no reason why we could not keep doing that a bit
longer.

However, I looked at how much effort and changes such backport would
involve and I am pretty close to giving up on the whole idea.

Oleg  


> Gary
> 
> On Fri, Nov 29, 2019 at 3:31 PM Ryan Schmitt <rs...@apache.org>
> wrote:
> 
> > Do you intend to remove the old connection pool implementations
> > from 4.5.x,
> > or just deprecate them?
> > 
> > I would also like to echo Gary's question about binary
> > compatibility, and
> > what the compatibility implications are more generally for the
> > client.
> > 
> > On Tue, Nov 26, 2019 at 7:42 AM Oleg Kalnichevski <olegk@apache.org
> > >
> > wrote:
> > 
> > > Folks
> > > 
> > > I would like to create new 4.5.x branch in HttpCore and do the
> > > following
> > > 
> > > * change its version to 4.5.0-alpha1
> > > 
> > > * change its JRE level from 1.6 to 1.7
> > > 
> > > * back-port new connection pool implementations from master to
> > > that
> > > branch
> > > 
> > > * deprecate old connection pool implementations
> > > 
> > > Would anyone have any objections to that?
> > > 
> > > Obviously all new features would need to the 4.5.x branch and not
> > > 4.4.x. The 4.4.x would be for critical bug fixes only.
> > > 
> > > Oleg
> > > 
> > > 
> > > ---------------------------------------------------------------
> > > ------
> > > To unsubscribe, e-mail: dev-unsubscribe@hc.apache.org
> > > For additional commands, e-mail: dev-help@hc.apache.org
> > > 
> > > 


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


Re: HttpCore 4.5.x branch

Posted by Gary Gregory <ga...@gmail.com>.
I think we should assume that we will keep binary compatibility.

The next question is whether the new pooling code becomes the default
behavior or needs to be enabled.

Gary

On Fri, Nov 29, 2019 at 3:31 PM Ryan Schmitt <rs...@apache.org> wrote:

> Do you intend to remove the old connection pool implementations from 4.5.x,
> or just deprecate them?
>
> I would also like to echo Gary's question about binary compatibility, and
> what the compatibility implications are more generally for the client.
>
> On Tue, Nov 26, 2019 at 7:42 AM Oleg Kalnichevski <ol...@apache.org>
> wrote:
>
> > Folks
> >
> > I would like to create new 4.5.x branch in HttpCore and do the
> > following
> >
> > * change its version to 4.5.0-alpha1
> >
> > * change its JRE level from 1.6 to 1.7
> >
> > * back-port new connection pool implementations from master to that
> > branch
> >
> > * deprecate old connection pool implementations
> >
> > Would anyone have any objections to that?
> >
> > Obviously all new features would need to the 4.5.x branch and not
> > 4.4.x. The 4.4.x would be for critical bug fixes only.
> >
> > Oleg
> >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: dev-unsubscribe@hc.apache.org
> > For additional commands, e-mail: dev-help@hc.apache.org
> >
> >
>

Re: HttpCore 4.5.x branch

Posted by Ryan Schmitt <rs...@apache.org>.
Do you intend to remove the old connection pool implementations from 4.5.x,
or just deprecate them?

I would also like to echo Gary's question about binary compatibility, and
what the compatibility implications are more generally for the client.

On Tue, Nov 26, 2019 at 7:42 AM Oleg Kalnichevski <ol...@apache.org> wrote:

> Folks
>
> I would like to create new 4.5.x branch in HttpCore and do the
> following
>
> * change its version to 4.5.0-alpha1
>
> * change its JRE level from 1.6 to 1.7
>
> * back-port new connection pool implementations from master to that
> branch
>
> * deprecate old connection pool implementations
>
> Would anyone have any objections to that?
>
> Obviously all new features would need to the 4.5.x branch and not
> 4.4.x. The 4.4.x would be for critical bug fixes only.
>
> Oleg
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@hc.apache.org
> For additional commands, e-mail: dev-help@hc.apache.org
>
>