[
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)