You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@nifi.apache.org by "Yiteng Zhang (Jira)" <ji...@apache.org> on 2022/10/11 00:12:00 UTC

[jira] [Updated] (NIFI-10622) A Bundle of Flaky Tests caused by a similar problem

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

Yiteng Zhang updated NIFI-10622:
--------------------------------
    Description: 
At first I found that:
{code:java}
org.apache.nifi.remote.protocol.http.TestHttpFlowFileServerProtocol.testTransferTwoFiles {code}
This test can pass the maven-test. However, it shows non-deterministic behavior under [NonDex|[https://github.com/TestingResearchIllinois/NonDex]]'s test and thus failed. 

The test result is below:
{code:java}
[ERROR] Errors:  [ERROR]   TestHttpFlowFileServerProtocol.testTransferTwoFiles:411 » IO StandardHttpFlowFileServerProtocol[CommsID=testTransferTwoFiles] Sent data to peer Peer[url=http://peer-host:8080/] but calculated CRC32 Checksum as 2668300945 while peer calculated CRC32 Checksum as 3058746557; canceling transaction and rolling back session {code}
It seems like two peers calculate a different checksum, therefore the transaction was rolled back, and thus the test failed.

*Steps to reproduce the failure:*
 # install [NonDex|[https://github.com/TestingResearchIllinois/NonDex]]
 # run the following command in nifi
{code:java}
MODULE=nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-site-to-site
 TEST=org.apache.nifi.remote.protocol.http.TestHttpFlowFileServerProtocol#testTransferTwoFiles

mvn install -pl $MODULE -am -DskipTests

mvn -pl $MODULE edu.illinois:nondex-maven-plugin:1.1.2:nondex -Dtest=$TEST{code}

      3. the result will be saved under the package folder in .nondex

*Further Flaky Tests were Founded*
{code:java}
TestHttpClient.testSendLargeFileHTTP
TestHttpClient.testSendLargeFileHTTPS
TestHttpClient.testSendLargeFileHTTPSWithProxy
TestHttpClient.testSendLargeFileHTTPSWithProxyAuth
TestHttpClient.testSendLargeFileHTTPWithProxy
TestHttpClient.testSendLargeFileHTTPWithProxyAuth
TestHttpClient.testSendSlowClientSuccess
TestHttpClient.testSendSuccessCompressed{code}
These tests are also flaky due to the same checksum-related reason.

  was:
At first I found that:
{code:java}
org.apache.nifi.remote.protocol.http.TestHttpFlowFileServerProtocol.testTransferTwoFiles {code}
This test can pass the maven-test. However, it shows non-deterministic behavior under [NonDex|[https://github.com/TestingResearchIllinois/NonDex]]'s test and thus failed. 

The test result is below:
{code:java}
[ERROR] Errors:  [ERROR]   TestHttpFlowFileServerProtocol.testTransferTwoFiles:411 » IO StandardHttpFlowFileServerProtocol[CommsID=testTransferTwoFiles] Sent data to peer Peer[url=http://peer-host:8080/] but calculated CRC32 Checksum as 2668300945 while peer calculated CRC32 Checksum as 3058746557; canceling transaction and rolling back session {code}
It seems like two peers calculate a different checksum, therefore the transaction was rolled back, and thus the test failed.

*Steps to reproduce the failure:*
 # install [NonDex|[https://github.com/TestingResearchIllinois/NonDex]]
 # run the following command in nifi
{code:java}
MODULE=nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-site-to-site
 TEST=org.apache.nifi.remote.protocol.http.TestHttpFlowFileServerProtocol#testTransferTwoFiles

mvn install -pl $MODULE -am -DskipTests

mvn -pl $MODULE edu.illinois:nondex-maven-plugin:1.1.2:nondex -Dtest=$TEST{code}

      3. the result will be saved under the package folder in .nondex

*Further Flaky Tests were Founded*
{code:java}
TestHttpClient.testSendLargeFileHTTP
TestHttpClient.testSendLargeFileHTTPS
TestHttpClient.testSendLargeFileHTTPSWithProxy
TestHttpClient.testSendLargeFileHTTPSWithProxyAuth
TestHttpClient.testSendLargeFileHTTPWithProxy
TestHttpClient.testSendLargeFileHTTPWithProxyAuth
TestHttpClient.testSendSlowClientSuccess
TestHttpClient.testSendSuccessCompressed{code}
 

{*}{*}These tests are also flaky due to the same checksum-related reason.


> A Bundle of Flaky Tests caused by a similar problem
> ---------------------------------------------------
>
>                 Key: NIFI-10622
>                 URL: https://issues.apache.org/jira/browse/NIFI-10622
>             Project: Apache NiFi
>          Issue Type: Bug
>          Components: NiFi Registry
>         Environment: Apache Maven 3.6.0;
> openjdk version "1.8.0_342";
> OpenJDK Runtime Environment (build 1.8.0_342-8u342-b07-0ubuntu1~20.04-b07);
> OpenJDK 64-Bit Server VM (build 25.342-b07, mixed mode);
>            Reporter: Yiteng Zhang
>            Priority: Trivial
>             Fix For: 1.18.0
>
>         Attachments: org.apache.nifi.remote.protocol.http.TestHttpFlowFileServerProtocol.txt
>
>
> At first I found that:
> {code:java}
> org.apache.nifi.remote.protocol.http.TestHttpFlowFileServerProtocol.testTransferTwoFiles {code}
> This test can pass the maven-test. However, it shows non-deterministic behavior under [NonDex|[https://github.com/TestingResearchIllinois/NonDex]]'s test and thus failed. 
> The test result is below:
> {code:java}
> [ERROR] Errors:  [ERROR]   TestHttpFlowFileServerProtocol.testTransferTwoFiles:411 » IO StandardHttpFlowFileServerProtocol[CommsID=testTransferTwoFiles] Sent data to peer Peer[url=http://peer-host:8080/] but calculated CRC32 Checksum as 2668300945 while peer calculated CRC32 Checksum as 3058746557; canceling transaction and rolling back session {code}
> It seems like two peers calculate a different checksum, therefore the transaction was rolled back, and thus the test failed.
> *Steps to reproduce the failure:*
>  # install [NonDex|[https://github.com/TestingResearchIllinois/NonDex]]
>  # run the following command in nifi
> {code:java}
> MODULE=nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-site-to-site
>  TEST=org.apache.nifi.remote.protocol.http.TestHttpFlowFileServerProtocol#testTransferTwoFiles
> mvn install -pl $MODULE -am -DskipTests
> mvn -pl $MODULE edu.illinois:nondex-maven-plugin:1.1.2:nondex -Dtest=$TEST{code}
>       3. the result will be saved under the package folder in .nondex
> *Further Flaky Tests were Founded*
> {code:java}
> TestHttpClient.testSendLargeFileHTTP
> TestHttpClient.testSendLargeFileHTTPS
> TestHttpClient.testSendLargeFileHTTPSWithProxy
> TestHttpClient.testSendLargeFileHTTPSWithProxyAuth
> TestHttpClient.testSendLargeFileHTTPWithProxy
> TestHttpClient.testSendLargeFileHTTPWithProxyAuth
> TestHttpClient.testSendSlowClientSuccess
> TestHttpClient.testSendSuccessCompressed{code}
> These tests are also flaky due to the same checksum-related reason.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)