You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hc.apache.org by Roland Weber <ht...@dubioso.net> on 2006/09/18 21:57:24 UTC

Re: Lessons Learned

Hi Oleg,

> I think you are over-reacting a little.

Well, the frustration has been building up for quite a while.
HttpComponents is just one of the things which I have to schedule,
and right now there's a lot of them rushing at me. I need to make
a cut at some point in time.

> First off, HttpComponents is a
> VERY small and unimportant project compared to many of its open-source
> peers. Such is the dynamics of a small-time open-source project: it is
> dog slow and boring. We just have to live with that. No one cares unless
> they are bitten by an annoying bug that directly affects their project.
> And to make matters worse, our flagship product HttpClient 3.x is not
> very buggy.

Regarding HttpAsync, I'm not really bothered by the lack of additional
contributors. I'm bother by my unability to deliver something that is
rather clearly shaped in my mind and should not take long to implement.
If there weren't popping up higher priority items left, right and center.

> Secondly, I felt HttpAsync was bound to hit a bumpy spot at some point
> of time because it lacked a clearly defined scope and a target user
> base.

The functionality for the client side is rather clearly defined. Even
if there is room for improvement using NIO and such: there's a few
threads sending requests while a few others are receiving responses.
I also expected a rough time waiting for users, but I expected that
I could at least implement something that's useable. In time. I can't.

> I believe Apache Synapse expressed interest in an asynchronous
> HTTP client of a sort. Probably you should get in touch with those guys,
> see if they are still interested and get them articulate requirements
> for such a client. 

I don't see when I would be able to do something with those requirements.
I know that I won't have time to do anything until December, and the
items lining up so far have already taken months not to be implemented.

> I want to see HttpCore 4.0 alpha3 and HttpClient 4.0 alpha1 released
> first, at which point I want to take a serious look at HttpAsync. Let us
> re-focus for a little while. That's all.

Agreed. I would expect the core alpha3 at the end of this year, and
a client alpha 1 maybe next summer?

> There is no need for burials and resurrections.

Well, then let's call it re-focussing for a little while. There is a
russian proverb saying "Call me a pot just do not put me in an oven" ;-)
When I am taking a break from a project, and I know that the break will
last for many months, and I can't even give an estimate when it will be
over, then I feel the need to express that this project is no longer
under active development from my part. Without that, I would still feel
responsible for working on it, and I would constantly feel bad about not
making progress. I feel much better after saying: Whack! *puff* :-)

cheers,
  Roland

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


Re: Lessons Learned

Posted by Roland Weber <ht...@dubioso.net>.
Hello Asankha,

> Synapse would be expected to work with many messages concurrently
> (acting as an ESB) we do not want a huge number of threads to be doing
> IO - and hence the requirement for an async http client.

Thanks for the update, I will consider this around christmas time.
For the records:
Let m be the number of messages processed concurrently and c the
number of connections opened concurrently. The original idea of
HttpAsync - without NIO - was to have O(c) threads for handling I/O,
with a maximum of 2*c for maximum throughput and a minimum of c.
With NIO, we can get that number below c as we don't need one
thread per connection for receiving messages. But even without NIO,
2*c or c could be a significant improvement over O(m).

Still, there is no point in pushing HttpAsync until we've figured
out HttpCore and how to deal with opening connections.

cheers,
  Roland

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


Re: Lessons Learned

Posted by Oleg Kalnichevski <ol...@apache.org>.
On Tue, 2006-09-19 at 11:53 +0530, Asankha C. Perera wrote:
> Sorry I haven't been able to follow through all messages in this 
> thread.. but yes, Synapse is very much interested in an async/NIO based 
> http/s client. Basically this is required as an http/s transport 
> implementation for Axis2 (and not directly for Synapse). However, as 
> Synapse would be expected to work with many messages concurrently 
> (acting as an ESB) we do not want a huge number of threads to be doing 
> IO - and hence the requirement for an async http client. So far we 
> haven't made any progress on this front...
> 

Asankha,

Are full-blown HTTP state management and authentication hard
requirements for such a client? If not, a simple async HTTP
client can be hacked up within a reasonable period of time, provided
Apache Synapse is prepared to act as a testbed for it.

Oleg

> thanks
> asankha
> >> I believe Apache Synapse expressed interest in an asynchronous
> >> HTTP client of a sort. Probably you should get in touch with those guys,
> >> see if they are still interested and get them articulate requirements
> >> for such a client. 
> >>     
> >
> > I don't see when I would be able to do something with those requirements.
> > I know that I won't have time to do anything until December, and the
> > items lining up so far have already taken months not to be implemented.
> >   
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: httpclient-dev-unsubscribe@jakarta.apache.org
> For additional commands, e-mail: httpclient-dev-help@jakarta.apache.org
> 
> 


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


Re: Lessons Learned

Posted by "Asankha C. Perera" <as...@wso2.com>.
Sorry I haven't been able to follow through all messages in this 
thread.. but yes, Synapse is very much interested in an async/NIO based 
http/s client. Basically this is required as an http/s transport 
implementation for Axis2 (and not directly for Synapse). However, as 
Synapse would be expected to work with many messages concurrently 
(acting as an ESB) we do not want a huge number of threads to be doing 
IO - and hence the requirement for an async http client. So far we 
haven't made any progress on this front...

thanks
asankha
>> I believe Apache Synapse expressed interest in an asynchronous
>> HTTP client of a sort. Probably you should get in touch with those guys,
>> see if they are still interested and get them articulate requirements
>> for such a client. 
>>     
>
> I don't see when I would be able to do something with those requirements.
> I know that I won't have time to do anything until December, and the
> items lining up so far have already taken months not to be implemented.
>   


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