You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@maven.apache.org by "Michael Osipov (Jira)" <ji...@apache.org> on 2020/03/19 08:22:00 UTC
[jira] [Updated] (WAGON-584) LightweightHttpWagon and tests are
built on false assumptions around internal buffering
[ https://issues.apache.org/jira/browse/WAGON-584?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Michael Osipov updated WAGON-584:
---------------------------------
Description:
The {{LightweightHttpWagon}} heavily differs from {{HttpWagon}} internally, the way {{HttpURLConnection}} is implemented it is virtually impossible to make them behave similar (or identical).
Notable differences:
* Expect Continue is virtually not supported and signals an exception as soon as non-2xx is received
* *All* content is buffered in a byte array making it extremely inefficient with large uploads
* As soon as streaming mode is enabled (see {{#setFixedLengthStreamingMode(long)}} and {{#setChunkedStreamingMode(int)}}) redirect and authentication support are disabled
Tests do assume that both behave the same although {{HttpWagon}} is fully streaming while the other one is not. So, the tests are illdesigned/based on false assumptions. Run branch {{WAGON-584_streaming}} and see the failures.
This behavior is nowhere documented and not properly covered in tests.
was:
The {{LightweightHttpWagon}} heavily differ from {{HttpWagon}} internally, the way {{HttpURLConnection}} is implemented it is virtually impossible to make them behave similar (or identical).
Notable differences:
* Expect Continue is virtually not supported and signals an exception as soon as non-2xx is received
* *All* content is buffered in a byte array making it extremely inefficient with large uploads.
* As soon as streaming mode is enabled (see {{#setFixedLengthStreamingMode(long)}} and {{#setChunkedStreamingMode(int)}}) redirect and authentication support are disabled
Tests do assume that both behave the same although {{HttpWagon}} is fully streaming while the otherone is not. So, the tests are illdesigned/based on false assumptions. Run branch WAGON-584_streaming and see the failures.
This behavior is nowhere documented and not properly covered in tests.
> LightweightHttpWagon and tests are built on false assumptions around internal buffering
> ---------------------------------------------------------------------------------------
>
> Key: WAGON-584
> URL: https://issues.apache.org/jira/browse/WAGON-584
> Project: Maven Wagon
> Issue Type: Bug
> Components: wagon-http-lightweight
> Affects Versions: 3.3.4
> Reporter: Michael Osipov
> Priority: Major
>
> The {{LightweightHttpWagon}} heavily differs from {{HttpWagon}} internally, the way {{HttpURLConnection}} is implemented it is virtually impossible to make them behave similar (or identical).
> Notable differences:
> * Expect Continue is virtually not supported and signals an exception as soon as non-2xx is received
> * *All* content is buffered in a byte array making it extremely inefficient with large uploads
> * As soon as streaming mode is enabled (see {{#setFixedLengthStreamingMode(long)}} and {{#setChunkedStreamingMode(int)}}) redirect and authentication support are disabled
> Tests do assume that both behave the same although {{HttpWagon}} is fully streaming while the other one is not. So, the tests are illdesigned/based on false assumptions. Run branch {{WAGON-584_streaming}} and see the failures.
> This behavior is nowhere documented and not properly covered in tests.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)