|Re: [cross-project-issues-dev] Downstream Projects of platform to take note - ECF Upgrade in platform|
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).
But also other problems. For example, the older timeout
properties not being respected in the newer implementation, i.e.,
the properties from
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
as follows (so instead of 2 and 20).
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:
Back to the top