Hi Scott

I assume that shipping the older httpClient version in addition, would not 
resolve those issues and that it is something that would have to be 
changed/fixed in ECF. Correct?

Dani



From:   Ed Merks <ed.me...@gmail.com>
To:     cross-project-issues-dev@eclipse.org
Date:   27.05.2019 15:19
Subject:        [EXTERNAL] Re: [cross-project-issues-dev] Downstream 
Projects of platform to take note - ECF Upgrade in platform
Sent by:        cross-project-issues-dev-boun...@eclipse.org



FYI, I've run into a number of problems with the latest ECF/httpclient 
code.  Mostly my own fault for how I've hacked ECF to be able to collect 
and submit cookies (so I deserve to suffer). :-P
But also other problems.  For example, the older timeout properties not 
being respected in the newer implementation, i.e., the properties from 
org.eclipse.ecf.filetransfer.IRetrieveFileTransferOptions for timeouts are 
not applied when using the new implementation where the default timeout is 
120 seconds, so that can have a bad impact if your application runs into 
timeouts and has tried to limit the overall time impact using these 
options.
But worse, the setup archiver application has basically stopped 
functioning with timeouts such as the following:
FAILED to load 
http://git.eclipse.org/c/oomph/org.eclipse.oomph.git/plain/setups/configurations/OomphConfiguration.setup

  ERROR: org.eclipse.oomph.util.IOExceptionWithCause: Timeout waiting for 
connection from pool: 
http://git.eclipse.org/c/oomph/org.eclipse.oomph.git/plain/setups/configurations/OomphConfiguration.setup
 
0 0 0

After much investigating I fear that the Apache pool implementation is 
perhaps buggy (or perhaps how ECF uses it).  
ECF itself increases the pool's limit in 
org.eclipse.ecf.internal.provider.filetransfer.httpclient45.ECFHttpClientFactory.newClient()
 
as follows (so instead of 2 and 20).
        builder.setMaxConnPerRoute(100);
        builder.setMaxConnTotal(300);
And while these numbers seem relatively large, the setup archiver visits a 
great many resources on multiple threads (to produce the setups.zip used 
by the installer).  Only by increasing these numbers dramatically does the 
setup archiver application go back to normal functioning, completing in 19 
second on the build server versus thrashing for 20 minutes and failing 
with connection pool timeouts.
So in the end, I'm a little concerned because p2 also uses ECF to access 
repositories and if there is a problem with the connection pool refusing 
to hand out new leases even when the client has finished with the older 
connections, that could cause bad problems with updates and in the 
installer's ability to install, though fortunately a normal install will 
only access two simple repositories.  But in the real world, people have 
very complex target platforms and very complex installations that 
reference horribly bloated composites.  In these scenarios I have already 
seen connection pool timeouts...

On 22.05.2019 05:57, Manoj Palat wrote:
Hi All,

Please note that platform has moved to latest ECF that includes 
httpclient45 (org.eclipse.ecf.filetransfer.httpclient45.feature). However, 
ECF (which is available at the update site: 
https://download.eclipse.org/rt/ecf/snapshot/site.p2 ) has both 
httpclient4 and httpclient45. Platform mirrors httpclient45 (
org.eclipse.ecf.filetransfer.httpclient45.feature) only from now on - 
essentially httpclient4.feature (
org.eclipse.ecf.filetransfer.httpclient4.feature) and 
httpclient4.ssl.feature (
org.eclipse.ecf.filetransfer.httpclient4.ssl.feature ) are not mirrored to 
platform repository anymore. 

Requesting downstream projects to adjust their dependencies accordingly.

Regards,
Manoj

_______________________________________________
cross-project-issues-dev mailing list
cross-project-issues-dev@eclipse.org
To change your delivery options, retrieve your password, or unsubscribe 
from this list, visit
https://www.eclipse.org/mailman/listinfo/cross-project-issues-dev
_______________________________________________
cross-project-issues-dev mailing list
cross-project-issues-dev@eclipse.org
To change your delivery options, retrieve your password, or unsubscribe 
from this list, visit
https://urldefense.proofpoint.com/v2/url?u=https-3A__www.eclipse.org_mailman_listinfo_cross-2Dproject-2Dissues-2Ddev&d=DwICAg&c=jf_iaSHvJObTbx-siA1ZOg&r=1UITCR5rxUZHSFczvfaNFK4ymEbEiccRX7VKchpqz0Y&m=dqIUNOXGZt_oKwGG0POYBQNZkzR0qgfAiI7su_Cv-UQ&s=GRV9AEFxsHC-HW-_p7T1LhJNeJ_YEdRiRowGlj0BAeM&e=



_______________________________________________
cross-project-issues-dev mailing list
cross-project-issues-dev@eclipse.org
To change your delivery options, retrieve your password, or unsubscribe from 
this list, visit
https://www.eclipse.org/mailman/listinfo/cross-project-issues-dev

Reply via email to