Re: [cross-project-issues-dev] Downstream Projects of platform to take note - ECF Upgrade in platform

2019-05-29 Thread Carsten Reckord
Hi all,


I think both issues (pool size and using the old options) should be easily 
fixable. In fact, I would have expected using the old options to have worked, 
since we did just that with our original code before bringing it into shape for 
the eclipse.org contribution - I'll check up on that.


I'm on the road today, but I have a free day tomorrow to look into it.

Carsten

--
+49 (0)69 2475666-33 | 
reck...@yatta.de<mailto:carsten%20reckord%20%3creck...@yatta.de%3e> | 
www.yatta.de<http://www.yatta.de/>

Yatta Solutions GmbH c/o WeWork · Neue Rothofstraße 13-19 · 60313 Frankfurt 
a.M. (Germany)
Registered Seat: AG Kassel, HRB 14720 · VAT-ID DE263191529 · Managing Director 
Johannes Jacop


From: cross-project-issues-dev-boun...@eclipse.org 
 on behalf of Scott Lewis 

Sent: Tuesday, May 28, 2019 4:20:57 PM
To: cross-project-issues-dev@eclipse.org
Subject: Re: [cross-project-issues-dev] Downstream Projects of platform to take 
note - ECF Upgrade in platform


Filetransfer providers may be disabled at start time via a system property [1].

[1] https://wiki.eclipse.org/Disabling_Apache_Httpclient45


On 5/28/2019 12:54 AM, Daniel Megert wrote:
But wouldn't that mean that (affected) clients have to change their code?

Dani



From:Scott Lewis <mailto:sle...@composent.com>
To:Daniel Megert 
<mailto:daniel_meg...@ch.ibm.com>, Cross project 
issues 
<mailto:cross-project-issues-dev@eclipse.org>
Date:27.05.2019 23:13
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<mailto:cross-project-issues-dev-boun...@eclipse.org>




On 5/27/2019 6:52 AM, Daniel Megert wrote:
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?
I believe that the older provider (httpclient4) would resolve these issues as 
this provider has configurable timeouts...for connect and others.
It would also be helpful to enlist the support of the httpclient45 provider 
author (Carsten) via  [1] specifically around connect timeouts.   Perhaps 
something can be changed in the new provider to handle the timeouts more like 
the older provider.
Scott
[1] https://bugs.eclipse.org/bugs/show_bug.cgi?id=57


Dani



From:Ed Merks <mailto:ed.me...@gmail.com>
To:
cross-project-issues-dev@eclipse.org<mailto: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<mailto: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.setup0
 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()asfollows
 (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 

Re: [cross-project-issues-dev] Downstream Projects of platform to take note - ECF Upgrade in platform

2019-05-28 Thread Scott Lewis
Filetransfer providers may be disabled at start time via a system 
property [1].


[1] https://wiki.eclipse.org/Disabling_Apache_Httpclient45



On 5/28/2019 12:54 AM, Daniel Megert wrote:

But wouldn't that mean that (affected) clients have to change their code?

Dani



From: Scott Lewis 
To: Daniel Megert , Cross project issues 


Date: 27.05.2019 23:13
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




On 5/27/2019 6:52 AM, Daniel Megert wrote:
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?
I believe that the older provider (httpclient4) would resolve these 
issues as this provider has configurable timeouts...for connect and 
others.
It would also be helpful to enlist the support of the httpclient45 
provider author (Carsten) via  [1] specifically around connect 
timeouts.   Perhaps something can be changed in the new provider to 
handle the timeouts more like the older provider.

Scott
[1] _https://bugs.eclipse.org/bugs/show_bug.cgi?id=57_


Dani



From: Ed Merks __ <mailto:ed.me...@gmail.com>
To: _cross-project-issues-dev@eclipse.org_ 
<mailto: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-bounces@eclipse.org_ 
<mailto: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()asfollows 
(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 

Re: [cross-project-issues-dev] Downstream Projects of platform to take note - ECF Upgrade in platform

2019-05-28 Thread Ed Merks

Dani,

Note that I've commented on the bug with details.  Hopefully someone 
will find time to look at the pool problem, which is the most serious.  
To set the timeouts I did have to change code but perhaps the new 
implementation will/could be changed to respect the older options.


In any case, it's probably best for any further discussions by 
interested parties to do so in the Bugzilla.


Regards,
Ed

On 28.05.2019 09:54, Daniel Megert wrote:

But wouldn't that mean that (affected) clients have to change their code?

Dani



From: Scott Lewis 
To: Daniel Megert , Cross project issues 


Date: 27.05.2019 23:13
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




On 5/27/2019 6:52 AM, Daniel Megert wrote:
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?
I believe that the older provider (httpclient4) would resolve these 
issues as this provider has configurable timeouts...for connect and 
others.
It would also be helpful to enlist the support of the httpclient45 
provider author (Carsten) via  [1] specifically around connect 
timeouts.   Perhaps something can be changed in the new provider to 
handle the timeouts more like the older provider.

Scott
[1] _https://bugs.eclipse.org/bugs/show_bug.cgi?id=57_


Dani



From: Ed Merks __ <mailto:ed.me...@gmail.com>
To: _cross-project-issues-dev@eclipse.org_ 
<mailto: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-bounces@eclipse.org_ 
<mailto: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()asfollows 
(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 
- essent

Re: [cross-project-issues-dev] Downstream Projects of platform to take note - ECF Upgrade in platform

2019-05-28 Thread Daniel Megert
But wouldn't that mean that (affected) clients have to change their code?

Dani



From:   Scott Lewis 
To: Daniel Megert , Cross project issues 

Date:   27.05.2019 23:13
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



On 5/27/2019 6:52 AM, Daniel Megert wrote:
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?
I believe that the older provider (httpclient4) would resolve these issues 
as this provider has configurable timeouts...for connect and others.   
It would also be helpful to enlist the support of the httpclient45 
provider author (Carsten) via  [1] specifically around connect timeouts.   
Perhaps something can be changed in the new provider to handle the 
timeouts more like the older provider.
Scott
[1] https://bugs.eclipse.org/bugs/show_bug.cgi?id=57


Dani



From:Ed Merks 
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

Re: [cross-project-issues-dev] Downstream Projects of platform to take note - ECF Upgrade in platform

2019-05-27 Thread Scott Lewis

On 5/27/2019 6:52 AM, Daniel Megert wrote:

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?


I believe that the older provider (httpclient4) would resolve these 
issues as this provider has configurable timeouts...for connect and others.


It would also be helpful to enlist the support of the httpclient45 
provider author (Carsten) via  [1] specifically around connect 
timeouts.   Perhaps something can be changed in the new provider to 
handle the timeouts more like the older provider.


Scott

[1] https://bugs.eclipse.org/bugs/show_bug.cgi?id=57




Dani



From: Ed Merks 
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_ 
<mailto: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://www.eclipse.org/mailman/listinfo/cross-project-issues-dev


___
cross-project-issues-dev mailing list
cross-p

Re: [cross-project-issues-dev] Downstream Projects of platform to take note - ECF Upgrade in platform

2019-05-27 Thread Daniel Megert
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 
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=DwICAg=jf_iaSHvJObTbx-siA1ZOg=1UITCR5rxUZHSFczvfaNFK4ymEbEiccRX7VKchpqz0Y=dqIUNOXGZt_oKwGG0POYBQNZkzR0qgfAiI7su_Cv-UQ=GRV9AEFxsHC-HW-_p7T1LhJNeJ_YEdRiRowGlj0BAeM=



___
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

Re: [cross-project-issues-dev] Downstream Projects of platform to take note - ECF Upgrade in platform

2019-05-27 Thread Ed Merks
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 
loadhttp://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://www.eclipse.org/mailman/listinfo/cross-project-issues-dev

[cross-project-issues-dev] Downstream Projects of platform to take note - ECF Upgrade in platform

2019-05-21 Thread Manoj Palat


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