ant-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From jai.forums2...@gmail.com
Subject Re: Proposed changes for IVY-735 - Ability to specify timeouts
Date Mon, 17 Jul 2017 04:55:44 GMT
I think, that's actually a good idea. Defining the timeout constraints 
separately as named constraints and then referencing them would allow 
reusing these values on whichever resolvers want to:

<ivysettings>

  <timeout-contraints>

     <timeout-constraint name="smaller-timeout" connection-timeout="" 
read-timeout="">

     ...

  </timeout-constraints>

  <resolvers>

     <ibiblio timeout-constraint="smaller-timeout" .../>

  </resolvers>

</ivysettings>


-Jaikiran


On 14/07/17 10:33 PM, Gintautas Grigelionis wrote:
> my €.02 : currently, all resolvers only have artifact patterns as child
> elements, so I'd rather have the timeouts as attributes that might use
> references, similarly to cache managers or latest strategies. That would
> imply a global default that may be overridden individually.
>
> Gintas
>
> 2017-07-14 13:34 GMT+02:00 <jaikiran.pai@cloudfabrix.com>:
>
>> https://issues.apache.org/jira/browse/IVY-735 is a feature request where
>> the users have asked for relevant timeouts while dealing with downloads. A
>> few weeks back we had a very brief discussion in an unrelated mail where it
>> was proposed that we allow configuring these timeout all the way from ivy
>> settings.
>>
>> I have an initial proposal/attempt to implement this feature. The initial
>> changes are here in my personal repo[1]. It's a work in progress commit
>> which sets up the necessary interfaces and the flow to show what I have in
>> mind. Before proceeding further, I would like some inputs on whether this
>> looks fine. Here's a summary of what the changes are going to be:
>>
>> - Each (dependency) resolver will have the ability to specify "timeout
>> constraints"[2].
>>
>> - These timeout constraints will be specified while defining the resolver
>> in the ivy settings file. Imagine something like:
>>
>>      <ivysettings>
>>
>>          <resolvers>
>>
>>              <ibiblio ...>
>>
>>                  <timeout-constraints connection-timeout=""
>> read-timeout=""/>
>>
>>              </ibiblio>
>>
>>      ....
>>
>> - Each of the resolver will then use these timeout constraints (if
>> specified) while resolving the module descriptor and downloading the
>> artifacts and dealing with those resources.
>>
>> - The absence of the timeout constraints will let the resolvers behave the
>> way they do currently
>>
>> The changes in the linked commit deprecate some APIs which weren't using
>> timeouts and are replaced by APIs which pass along (an optional)
>> TimeoutConstraints[2].
>>
>> In summary, the change being proposed is that (dependency) resolvers have
>> the ability to specify these timeout constraints and then use them while
>> dealing with module descriptors and artifacts. One thing I have (to some
>> extent intentionally) left out is the ability to define a global Ivy
>> settings level or "all resolvers" level timeout-constraints. That's because
>> I'm not too sure if it adds much value instead of defining it at individual
>> resolver level. I'm however open to adding that support as well.
>>
>> The linked commit currently doesn't have the necessary support for parsing
>> these additional XML elements, but if this whole approach looks fine, I
>> will take this further and make sure things work as expected.
>>
>> [1] https://github.com/jaikiran/ant-ivy/commit/e501d9deca78db8b9
>> 34f8a2710ebcfeaeb1456c8
>>
>> [2] https://github.com/jaikiran/ant-ivy/commit/e501d9deca78db8b9
>> 34f8a2710ebcfeaeb1456c8#diff-cd8ed454a52f4afa779574f5600a0ccb
>>
>>
>> -Jaikiran
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: dev-unsubscribe@ant.apache.org
>> For additional commands, e-mail: dev-help@ant.apache.org
>>
>>


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


Mime
View raw message