[ 
https://issues.apache.org/jira/browse/WAGON-557?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Olaf Otto updated WAGON-557:
----------------------------
    Description: 
The change introduced for WAGON-537 was slightly modified from the original PR 
(see 
[https://github.com/apache/maven-wagon/pull/51/commits/e4d34eb86906317536f2adfde4f70f3f45cb34c4])
 and introduced a wrap around in getBufferCapacityForTransfer:
{code:java}
final int numberOfBufferSegments = (int)
            numberOfBytes / ( BUFFER_SEGMENT_SIZE * 
MINIMUM_AMOUNT_OF_TRANSFER_CHUNKS );
{code}
Here, the integer cast is applied prior to the division, resulting in negative 
numbers for larger artifact sizes. This means the buffer capacity falls back to 
the default buffer size (4k) for such artifacts. While the overall performance 
is still better than prior to WAGON-537, this significantly reduces potential 
transfer speed for such large artifacts.

  was:
The change introduced for WAGON-537 was slightly modified from the original PR 
(see 
https://github.com/apache/maven-wagon/pull/51/commits/e4d34eb86906317536f2adfde4f70f3f45cb34c4)
 and introduced a wrap around in getBufferCapacityForTransfer:

{code}
final int numberOfBufferSegments = (int)
            numberOfBytes / ( BUFFER_SEGMENT_SIZE * 
MINIMUM_AMOUNT_OF_TRANSFER_CHUNKS );
{code}

Here, the integer cast is applied prior to the division, resulting in negative 
numbers for larger artifact sizes. This means the buffer capacity falls back to 
the minimum buffer size (4k) for such artifacts. While the overall performance 
is still better than prior to WAGON-537, this significantly reducies portential 
transfer speed for such large artifacts.


> Wrap around in AbstractWagon.getBufferCapacityForTransfer prevents optimal 
> buffer size selection for large artifacts
> --------------------------------------------------------------------------------------------------------------------
>
>                 Key: WAGON-557
>                 URL: https://issues.apache.org/jira/browse/WAGON-557
>             Project: Maven Wagon
>          Issue Type: Bug
>          Components: wagon-provider-api
>    Affects Versions: 3.3.2
>            Reporter: Olaf Otto
>            Priority: Minor
>          Time Spent: 10m
>  Remaining Estimate: 0h
>
> The change introduced for WAGON-537 was slightly modified from the original 
> PR (see 
> [https://github.com/apache/maven-wagon/pull/51/commits/e4d34eb86906317536f2adfde4f70f3f45cb34c4])
>  and introduced a wrap around in getBufferCapacityForTransfer:
> {code:java}
> final int numberOfBufferSegments = (int)
>             numberOfBytes / ( BUFFER_SEGMENT_SIZE * 
> MINIMUM_AMOUNT_OF_TRANSFER_CHUNKS );
> {code}
> Here, the integer cast is applied prior to the division, resulting in 
> negative numbers for larger artifact sizes. This means the buffer capacity 
> falls back to the default buffer size (4k) for such artifacts. While the 
> overall performance is still better than prior to WAGON-537, this 
> significantly reduces potential transfer speed for such large artifacts.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to