jmeter-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Milamber <milam...@apache.org>
Subject Re: Progressive Migration from HttpClient 4.2.3 to 4.5
Date Wed, 21 Oct 2015 06:54:14 GMT


On 20/10/2015 23:49, Philippe Mouawad wrote:
> Hi,
> I reopened yesterday :
> - https://issues.apache.org/jira/browse/HTTPCLIENT-1665
>
> And Oleg fixed the issue in 4.5.2
>
> So when it's released we could upgrade in trunk safely.
>
> Thoughts ?

Great news.

To be tested on local branch and if works commit on trunk

Milamber


> Regards
> Philippe
>
> On Monday, October 19, 2015, Philippe Mouawad <philippe.mouawad@gmail.com>
> wrote:
>
>> Hi,
>> For info, tests failure can be fixed this way (fix contributed by
>> redline13):
>> -
>> https://github.com/redline13/jmeter/commit/6fbf9933aff1a2cca29e7ecc6c8b08e102514ce7#diff-4e3471b25c91730a99ed23402467b9eaR996
>>
>>
>> The fix
>>
>> if(haveContentEncoding) { charset = Charset.forName(contentEncoding); charset
>> = Charset.forName(contentEncoding);   } else {   charset = Charset.
>> forName("US-ASCII"); // $NON-NLS-1$ this is the default used by HttpClient
>> } }
>>
>>   looks good to me as :
>> In 4.2.6, if charset was null, StringBody would default to US_ASCII:
>>
>> https://github.com/apache/httpclient/blob/4.2.6/httpmime/src/main/java/org/apache/http/entity/mime/content/StringBody.java
>>
>> Same for  HttpMultipart
>>
>> https://github.com/apache/httpclient/blob/4.2.6/httpmime/src/main/java/org/apache/http/entity/mime/HttpMultipart.java#L122
>>
>> Called from :
>>
>> https://github.com/apache/httpclient/blob/4.2.6/httpmime/src/main/java/org/apache/http/entity/mime/MultipartEntity.java
>>
>>
>> So shall we fix it this way ?
>> It would allow migration to HttpClient 4.5 , fix this issue and also allow
>> users of JMeter-Plugins + Webdriver to work correctly.
>> Thanks
>> Regards
>> Philippe M.
>> @philmdot
>>
>> On Sat, Jul 4, 2015 at 11:19 PM, Philippe Mouawad <
>> philippe.mouawad@gmail.com
>> <javascript:_e(%7B%7D,'cvml','philippe.mouawad@gmail.com');>> wrote:
>>
>>> The 2 issues seem to be due to a bug in httpmime-4.5:
>>> - https://issues.apache.org/jira/browse/HTTPCLIENT-1665
>>>
>>> Regards
>>> Philippe
>>>
>>> On Sat, Jul 4, 2015 at 8:46 PM, Milamber <milamber@apache.org
>>> <javascript:_e(%7B%7D,'cvml','milamber@apache.org');>> wrote:
>>>
>>>> Hello,
>>>>
>>>> The HC4 branch on svn seems have been create to make the upgrade to the
>>>> latest release of httpclient/core.
>>>> I've just merge this branch with the trunk, and updating httpclient/core
>>>> to 4.5/4.4.1.
>>>>
>>>> -> compile works, but some tests (junit) fails (charset issue I think)
>>>>
>>>> Perhaps, we need to fix (or change) the junit tests on the HC4 branch?
>>>> and start remove/rework the classes using some deprecated elements from
>>>> httpclient/core.
>>>>
>>>> Make the upgrade of httpclient/core directly on trunk seems a bit risky
>>>> in words of regression.
>>>>
>>>> Milamber
>>>>
>>>> ===Errors on tests ant task===
>>>>
>>>>       [java] Time: 72.39
>>>>       [java] There were 2 failures:
>>>>       [java] 1)
>>>> testPostRequest_FormMultipart3(org.apache.jmeter.protocol.http.sampler.TestHTTPSamplersAgainstHttpMirrorServer)junit.framework.AssertionFailedError:
>>>> arrays have different length, expected is 402, actual is 366
>>>>       [java]     at
>>>> org.apache.jmeter.protocol.http.sampler.TestHTTPSamplersAgainstHttpMirrorServer.checkArraysHaveSameContent(TestHTTPSamplersAgainstHttpMirrorServer.java:1240)
>>>>       [java]     at
>>>> org.apache.jmeter.protocol.http.sampler.TestHTTPSamplersAgainstHttpMirrorServer.checkPostRequestFormMultipart(TestHTTPSamplersAgainstHttpMirrorServer.java:831)
>>>>       [java]     at
>>>> org.apache.jmeter.protocol.http.sampler.TestHTTPSamplersAgainstHttpMirrorServer.testPostRequest_FormMultipart(TestHTTPSamplersAgainstHttpMirrorServer.java:342)
>>>>       [java]     at
>>>> org.apache.jmeter.protocol.http.sampler.TestHTTPSamplersAgainstHttpMirrorServer.testPostRequest_FormMultipart3(TestHTTPSamplersAgainstHttpMirrorServer.java:153)
>>>>       [java]     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native
>>>> Method)
>>>>       [java]     at
>>>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>>>>       [java]     at
>>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>>>>       [java]     at
>>>> junit.extensions.TestDecorator.basicRun(TestDecorator.java:23)
>>>>       [java]     at
>>>> junit.extensions.TestSetup$1.protect(TestSetup.java:23)
>>>>       [java]     at junit.extensions.TestSetup.run(TestSetup.java:27)
>>>>       [java]     at
>>>> org.apache.jorphan.test.AllTests.main(AllTests.java:236)
>>>>       [java] 2)
>>>> testPostRequest_FileUpload3(org.apache.jmeter.protocol.http.sampler.TestHTTPSamplersAgainstHttpMirrorServer)junit.framework.AssertionFailedError:
>>>> arrays have different length, expected is 677, actual is 641
>>>>       [java]     at
>>>> org.apache.jmeter.protocol.http.sampler.TestHTTPSamplersAgainstHttpMirrorServer.checkArraysHaveSameContent(TestHTTPSamplersAgainstHttpMirrorServer.java:1240)
>>>>       [java]     at
>>>> org.apache.jmeter.protocol.http.sampler.TestHTTPSamplersAgainstHttpMirrorServer.checkPostRequestFileUpload(TestHTTPSamplersAgainstHttpMirrorServer.java:893)
>>>>       [java]     at
>>>> org.apache.jmeter.protocol.http.sampler.TestHTTPSamplersAgainstHttpMirrorServer.testPostRequest_FileUpload(TestHTTPSamplersAgainstHttpMirrorServer.java:441)
>>>>       [java]     at
>>>> org.apache.jmeter.protocol.http.sampler.TestHTTPSamplersAgainstHttpMirrorServer.testPostRequest_FileUpload3(TestHTTPSamplersAgainstHttpMirrorServer.java:165)
>>>>       [java]     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native
>>>> Method)
>>>>       [java]     at
>>>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>>>>       [java]     at
>>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>>>>       [java]     at
>>>> junit.extensions.TestDecorator.basicRun(TestDecorator.java:23)
>>>>       [java]     at
>>>> junit.extensions.TestSetup$1.protect(TestSetup.java:23)
>>>>       [java]     at junit.extensions.TestSetup.run(TestSetup.java:27)
>>>>       [java]     at
>>>> org.apache.jorphan.test.AllTests.main(AllTests.java:236)
>>>>       [java] FAILURES!!!
>>>>       [java] Tests run: 2536,  Failures: 2,  Errors: 0
>>>>
>>>>
>>>> On 04/07/2015 17:42, Andrey Pokhilko wrote:
>>>>
>>>>> Hi,
>>>>>
>>>>> >From what I observed, there is no major issues with just replacing
>>>>> httpclient libs with 4.5 version. The only problem I saw was that
>>>>> deprecated constructor regression. A fix for that regression was
>>>>> submitted and released as part of 4.5. So I'm very optimistic with
>>>>> upgrading http components.
>>>>>
>>>>> Andrey Pokhilko
>>>>>
>>>>> On 07/04/2015 05:35 PM, Philippe Mouawad wrote:
>>>>>
>>>>>> Hello,
>>>>>> HttpClient 4.3 introduced a new set of APIs which makes migration
from
>>>>>> 4.2.3 to 4.5 an important work.
>>>>>>
>>>>>> What are the risks and what do you think about the approach of
>>>>>> progressive
>>>>>> migration:
>>>>>>
>>>>>>      - We upgrade to  4.5 HttpClient/Mime and 4.4.1 (HttpCore) jars
>>>>>> which
>>>>>>      show many deprecations but not broken compilation
>>>>>>      - Once done, we move progressively (not always possible) to
4.5
>>>>>> the code
>>>>>>
>>>>>> If this is feasible then it would allow us to fix :
>>>>>>
>>>>>>      - https://bz.apache.org/bugzilla/show_bug.cgi?id=57935
>>>>>>
>>>>>>
>>>>>> Any trace of a migration documentation from 4.2.X to 4.3. ?
>>>>>>
>>>>>>
>>>
>>> --
>>> Cordialement.
>>> Philippe Mouawad.
>>>
>>>
>>>
>>
>> --
>> Cordialement.
>> Philippe Mouawad.
>>
>>
>>


Mime
View raw message