[
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Ā artifact sizes > 2 GB. 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: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.
> 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Ā artifact sizes > 2 GB. 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)