Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

HADOOP-19425. [JDK17] Upgrade JUnit from 4 to 5 in hadoop-azure Part1. #7369

Open
wants to merge 8 commits into
base: trunk
Choose a base branch
from

Conversation

slfan1989
Copy link
Contributor

@slfan1989 slfan1989 commented Feb 8, 2025

Description of PR

JIRA: HADOOP-19425. Upgrade JUnit from 4 to 5 in hadoop-azure Part1.

How was this patch tested?

Junit Test.

For code changes:

  • Does the title or this PR starts with the corresponding JIRA issue id (e.g. 'HADOOP-17799. Your PR title ...')?
  • Object storage: have the integration tests been executed and the endpoint declared according to the connector-specific documentation?
  • If adding new dependencies to the code, are these dependencies licensed in a way that is compatible for inclusion under ASF 2.0?
  • If applicable, have you updated the LICENSE, LICENSE-binary, NOTICE-binary files?

@slfan1989 slfan1989 changed the title HADOOP-19425. Upgrade JUnit from 4 to 5 in hadoop-azure Part1. HADOOP-19425. [JDK17] Upgrade JUnit from 4 to 5 in hadoop-azure Part1. Feb 8, 2025
@hadoop-yetus
Copy link

💔 -1 overall

Vote Subsystem Runtime Logfile Comment
+0 🆗 reexec 0m 48s Docker mode activated.
_ Prechecks _
+1 💚 dupname 0m 1s No case conflicting files found.
+0 🆗 codespell 0m 0s codespell was not available.
+0 🆗 detsecrets 0m 0s detect-secrets was not available.
+1 💚 @author 0m 0s The patch does not contain any @author tags.
+1 💚 test4tests 0m 0s The patch appears to include 53 new or modified test files.
_ trunk Compile Tests _
+1 💚 mvninstall 42m 8s trunk passed
+1 💚 compile 0m 40s trunk passed with JDK Ubuntu-11.0.25+9-post-Ubuntu-1ubuntu120.04
+1 💚 compile 0m 36s trunk passed with JDK Private Build-1.8.0_432-8u432-gaus1-0ubuntu220.04-ga
+1 💚 checkstyle 0m 34s trunk passed
+1 💚 mvnsite 0m 40s trunk passed
+1 💚 javadoc 0m 42s trunk passed with JDK Ubuntu-11.0.25+9-post-Ubuntu-1ubuntu120.04
+1 💚 javadoc 0m 33s trunk passed with JDK Private Build-1.8.0_432-8u432-gaus1-0ubuntu220.04-ga
+1 💚 spotbugs 1m 8s trunk passed
+1 💚 shadedclient 39m 9s branch has no errors when building and testing our client artifacts.
_ Patch Compile Tests _
+1 💚 mvninstall 0m 30s the patch passed
+1 💚 compile 0m 33s the patch passed with JDK Ubuntu-11.0.25+9-post-Ubuntu-1ubuntu120.04
+1 💚 javac 0m 33s the patch passed
+1 💚 compile 0m 28s the patch passed with JDK Private Build-1.8.0_432-8u432-gaus1-0ubuntu220.04-ga
+1 💚 javac 0m 28s the patch passed
-1 ❌ blanks 0m 0s /blanks-eol.txt The patch has 9 line(s) that end in blanks. Use git apply --whitespace=fix <<patch_file>>. Refer https://git-scm.com/docs/git-apply
-0 ⚠️ checkstyle 0m 21s /results-checkstyle-hadoop-tools_hadoop-azure.txt hadoop-tools/hadoop-azure: The patch generated 30 new + 292 unchanged - 26 fixed = 322 total (was 318)
+1 💚 mvnsite 0m 31s the patch passed
+1 💚 javadoc 0m 28s the patch passed with JDK Ubuntu-11.0.25+9-post-Ubuntu-1ubuntu120.04
+1 💚 javadoc 0m 26s the patch passed with JDK Private Build-1.8.0_432-8u432-gaus1-0ubuntu220.04-ga
+1 💚 spotbugs 1m 6s the patch passed
+1 💚 shadedclient 39m 28s patch has no errors when building and testing our client artifacts.
_ Other Tests _
-1 ❌ unit 2m 40s /patch-unit-hadoop-tools_hadoop-azure.txt hadoop-azure in the patch passed.
+1 💚 asflicense 0m 36s The patch does not generate ASF License warnings.
135m 39s
Reason Tests
Failed junit tests hadoop.fs.azure.TestNativeAzureFileSystemFileNameCheck
hadoop.fs.azure.TestNativeAzureFileSystemConcurrency
hadoop.fs.azure.TestNativeAzureFileSystemMocked
hadoop.fs.azure.TestWasbFsck
hadoop.fs.azure.TestNativeAzureFileSystemUploadLogic
hadoop.fs.azure.TestNativeAzureFileSystemContractMocked
hadoop.fs.azure.TestNativeAzureFileSystemAuthorization
Subsystem Report/Notes
Docker ClientAPI=1.47 ServerAPI=1.47 base: https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-7369/1/artifact/out/Dockerfile
GITHUB PR #7369
Optional Tests dupname asflicense compile javac javadoc mvninstall mvnsite unit shadedclient spotbugs checkstyle codespell detsecrets
uname Linux 96bb40db3dea 5.15.0-125-generic #135-Ubuntu SMP Fri Sep 27 13:53:58 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux
Build tool maven
Personality dev-support/bin/hadoop.sh
git revision trunk / 0cb509f
Default Java Private Build-1.8.0_432-8u432-gaus1-0ubuntu220.04-ga
Multi-JDK versions /usr/lib/jvm/java-11-openjdk-amd64:Ubuntu-11.0.25+9-post-Ubuntu-1ubuntu120.04 /usr/lib/jvm/java-8-openjdk-amd64:Private Build-1.8.0_432-8u432-gaus1-0ubuntu220.04-ga
Test Results https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-7369/1/testReport/
Max. process+thread count 524 (vs. ulimit of 5500)
modules C: hadoop-tools/hadoop-azure U: hadoop-tools/hadoop-azure
Console output https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-7369/1/console
versions git=2.25.1 maven=3.6.3 spotbugs=4.2.2
Powered by Apache Yetus 0.14.0 https://yetus.apache.org

This message was automatically generated.

@hadoop-yetus
Copy link

💔 -1 overall

Vote Subsystem Runtime Logfile Comment
+0 🆗 reexec 0m 31s Docker mode activated.
_ Prechecks _
+1 💚 dupname 0m 1s No case conflicting files found.
+0 🆗 codespell 0m 0s codespell was not available.
+0 🆗 detsecrets 0m 0s detect-secrets was not available.
+1 💚 @author 0m 0s The patch does not contain any @author tags.
+1 💚 test4tests 0m 0s The patch appears to include 53 new or modified test files.
_ trunk Compile Tests _
+1 💚 mvninstall 35m 43s trunk passed
+1 💚 compile 0m 39s trunk passed with JDK Ubuntu-11.0.25+9-post-Ubuntu-1ubuntu120.04
+1 💚 compile 0m 37s trunk passed with JDK Private Build-1.8.0_432-8u432-gaus1-0ubuntu220.04-ga
+1 💚 checkstyle 0m 34s trunk passed
+1 💚 mvnsite 0m 41s trunk passed
+1 💚 javadoc 0m 41s trunk passed with JDK Ubuntu-11.0.25+9-post-Ubuntu-1ubuntu120.04
+1 💚 javadoc 0m 34s trunk passed with JDK Private Build-1.8.0_432-8u432-gaus1-0ubuntu220.04-ga
+1 💚 spotbugs 1m 8s trunk passed
+1 💚 shadedclient 34m 31s branch has no errors when building and testing our client artifacts.
_ Patch Compile Tests _
+1 💚 mvninstall 0m 29s the patch passed
+1 💚 compile 0m 31s the patch passed with JDK Ubuntu-11.0.25+9-post-Ubuntu-1ubuntu120.04
+1 💚 javac 0m 31s the patch passed
+1 💚 compile 0m 29s the patch passed with JDK Private Build-1.8.0_432-8u432-gaus1-0ubuntu220.04-ga
+1 💚 javac 0m 29s the patch passed
-1 ❌ blanks 0m 0s /blanks-eol.txt The patch has 9 line(s) that end in blanks. Use git apply --whitespace=fix <<patch_file>>. Refer https://git-scm.com/docs/git-apply
-0 ⚠️ checkstyle 0m 22s /results-checkstyle-hadoop-tools_hadoop-azure.txt hadoop-tools/hadoop-azure: The patch generated 30 new + 291 unchanged - 26 fixed = 321 total (was 317)
+1 💚 mvnsite 0m 32s the patch passed
+1 💚 javadoc 0m 28s the patch passed with JDK Ubuntu-11.0.25+9-post-Ubuntu-1ubuntu120.04
+1 💚 javadoc 0m 25s the patch passed with JDK Private Build-1.8.0_432-8u432-gaus1-0ubuntu220.04-ga
+1 💚 spotbugs 1m 8s the patch passed
+1 💚 shadedclient 33m 50s patch has no errors when building and testing our client artifacts.
_ Other Tests _
-1 ❌ unit 2m 58s /patch-unit-hadoop-tools_hadoop-azure.txt hadoop-azure in the patch passed.
+1 💚 asflicense 0m 34s The patch does not generate ASF License warnings.
118m 59s
Reason Tests
Failed junit tests hadoop.fs.azure.TestWasbFsck
hadoop.fs.azure.TestNativeAzureFileSystemMocked
hadoop.fs.azure.TestNativeAzureFileSystemUploadLogic
hadoop.fs.azure.TestNativeAzureFileSystemAuthorization
hadoop.fs.azure.TestNativeAzureFileSystemConcurrency
hadoop.fs.azure.TestNativeAzureFileSystemContractMocked
hadoop.fs.azure.TestNativeAzureFileSystemFileNameCheck
Subsystem Report/Notes
Docker ClientAPI=1.47 ServerAPI=1.47 base: https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-7369/2/artifact/out/Dockerfile
GITHUB PR #7369
Optional Tests dupname asflicense compile javac javadoc mvninstall mvnsite unit shadedclient spotbugs checkstyle codespell detsecrets
uname Linux b5836d69192b 5.15.0-130-generic #140-Ubuntu SMP Wed Dec 18 17:59:53 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux
Build tool maven
Personality dev-support/bin/hadoop.sh
git revision trunk / 7f6734c
Default Java Private Build-1.8.0_432-8u432-gaus1-0ubuntu220.04-ga
Multi-JDK versions /usr/lib/jvm/java-11-openjdk-amd64:Ubuntu-11.0.25+9-post-Ubuntu-1ubuntu120.04 /usr/lib/jvm/java-8-openjdk-amd64:Private Build-1.8.0_432-8u432-gaus1-0ubuntu220.04-ga
Test Results https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-7369/2/testReport/
Max. process+thread count 559 (vs. ulimit of 5500)
modules C: hadoop-tools/hadoop-azure U: hadoop-tools/hadoop-azure
Console output https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-7369/2/console
versions git=2.25.1 maven=3.6.3 spotbugs=4.2.2
Powered by Apache Yetus 0.14.0 https://yetus.apache.org

This message was automatically generated.

@slfan1989 slfan1989 marked this pull request as ready for review February 8, 2025 10:39
@slfan1989
Copy link
Contributor Author

slfan1989 commented Feb 8, 2025

I am trying to modify the code of hadoop-azure, this is part 1. I am syncing the improvements so that it can be better reviewed:

1. TestName

In JUnit 5, the org.junit.rules.TestName class no longer exists.
We need to use org.junit.jupiter.api.TestInfo.getDisplayName() as a replacement and pass TestInfo in the parameters of setUp, tearDown, and tests.

Here is an example:

setUp

@BeforeEach
@Override
public void setUp(TestInfo testInfo) throws Exception {
    super.setUp(testInfo);
    Configuration conf = new Configuration();
    conf.setInt(AzureNativeFileSystemStore.KEY_INPUT_STREAM_VERSION, 1);
}

tearDown

@AfterEach
public void tearDown(TestInfo info) throws Exception {
    describe(info,"closing test account and filesystem");
    testAccount = cleanupTestAccount(testAccount);
    IOUtils.closeStream(fs);
    fs = null;
}

Junit Test

@Test
public void testBlobMd5StoreOffByDefault(TestInfo testInfo) throws Exception {
    testAccount = AzureBlobStorageTestAccount.create();
    testStoreBlobMd5(false, testInfo);
}

2. Timeout

In JUnit 5, @Timeout can be set on the test method or class to specify a timeout, with the unit in seconds.

Here is an example:

method

@Test
@Timeout(1)
void shouldFailAfterOneSecond() throws InterruptedException {
    Thread.sleep(10_000);
}

class

@Timeout(5)
class TimeoutUnitTest {
    @Test
    void shouldFailAfterOneSecond() throws InterruptedException {
        Thread.sleep(10_000);
    }
}

3. Assume.assumeNotNull → Assumptions.assumeTrue

In JUnit 5, there is no assumeNotNull method. We need to use Assumptions.assumeTrue as a replacement.

Here is an example:

assumeNotNull(testAccount); -> assumeTrue(testAccount != null);

4. ExpectedException → assertThrows

In JUnit 5, the @Test(expected = Exception.class) syntax is replaced with assertThrows to verify if an exception is thrown.

5. @ignore@disabled

In JUnit 5, @Ignore is replaced by @Disabled to disable a test method or class.

6. Method Order: @FixMethodOrder → @TestMethodOrder

In JUnit 5, @FixMethodOrder(MethodSorters.NAME_ASCENDING) is replaced with @TestMethodOrder(MethodOrderer.Alphanumeric.class) or other ordering strategies to control the execution order of test methods.

@hadoop-yetus
Copy link

💔 -1 overall

Vote Subsystem Runtime Logfile Comment
+0 🆗 reexec 0m 50s Docker mode activated.
_ Prechecks _
+1 💚 dupname 0m 1s No case conflicting files found.
+0 🆗 codespell 0m 1s codespell was not available.
+0 🆗 detsecrets 0m 1s detect-secrets was not available.
+1 💚 @author 0m 0s The patch does not contain any @author tags.
+1 💚 test4tests 0m 0s The patch appears to include 55 new or modified test files.
_ trunk Compile Tests _
+1 💚 mvninstall 40m 19s trunk passed
+1 💚 compile 0m 41s trunk passed with JDK Ubuntu-11.0.25+9-post-Ubuntu-1ubuntu120.04
+1 💚 compile 0m 37s trunk passed with JDK Private Build-1.8.0_432-8u432-gaus1-0ubuntu220.04-ga
+1 💚 checkstyle 0m 34s trunk passed
+1 💚 mvnsite 0m 41s trunk passed
+1 💚 javadoc 0m 40s trunk passed with JDK Ubuntu-11.0.25+9-post-Ubuntu-1ubuntu120.04
+1 💚 javadoc 0m 34s trunk passed with JDK Private Build-1.8.0_432-8u432-gaus1-0ubuntu220.04-ga
+1 💚 spotbugs 1m 7s trunk passed
+1 💚 shadedclient 39m 0s branch has no errors when building and testing our client artifacts.
_ Patch Compile Tests _
+1 💚 mvninstall 0m 30s the patch passed
+1 💚 compile 0m 34s the patch passed with JDK Ubuntu-11.0.25+9-post-Ubuntu-1ubuntu120.04
+1 💚 javac 0m 34s the patch passed
+1 💚 compile 0m 28s the patch passed with JDK Private Build-1.8.0_432-8u432-gaus1-0ubuntu220.04-ga
+1 💚 javac 0m 28s the patch passed
-1 ❌ blanks 0m 0s /blanks-eol.txt The patch has 4 line(s) that end in blanks. Use git apply --whitespace=fix <<patch_file>>. Refer https://git-scm.com/docs/git-apply
-0 ⚠️ checkstyle 0m 22s /results-checkstyle-hadoop-tools_hadoop-azure.txt hadoop-tools/hadoop-azure: The patch generated 43 new + 283 unchanged - 36 fixed = 326 total (was 319)
+1 💚 mvnsite 0m 30s the patch passed
+1 💚 javadoc 0m 28s the patch passed with JDK Ubuntu-11.0.25+9-post-Ubuntu-1ubuntu120.04
+1 💚 javadoc 0m 25s the patch passed with JDK Private Build-1.8.0_432-8u432-gaus1-0ubuntu220.04-ga
+1 💚 spotbugs 1m 5s the patch passed
+1 💚 shadedclient 38m 56s patch has no errors when building and testing our client artifacts.
_ Other Tests _
+1 💚 unit 2m 43s hadoop-azure in the patch passed.
+1 💚 asflicense 0m 35s The patch does not generate ASF License warnings.
133m 23s
Subsystem Report/Notes
Docker ClientAPI=1.47 ServerAPI=1.47 base: https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-7369/3/artifact/out/Dockerfile
GITHUB PR #7369
Optional Tests dupname asflicense compile javac javadoc mvninstall mvnsite unit shadedclient spotbugs checkstyle codespell detsecrets
uname Linux 4c2f05441b11 5.15.0-125-generic #135-Ubuntu SMP Fri Sep 27 13:53:58 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux
Build tool maven
Personality dev-support/bin/hadoop.sh
git revision trunk / b52214a
Default Java Private Build-1.8.0_432-8u432-gaus1-0ubuntu220.04-ga
Multi-JDK versions /usr/lib/jvm/java-11-openjdk-amd64:Ubuntu-11.0.25+9-post-Ubuntu-1ubuntu120.04 /usr/lib/jvm/java-8-openjdk-amd64:Private Build-1.8.0_432-8u432-gaus1-0ubuntu220.04-ga
Test Results https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-7369/3/testReport/
Max. process+thread count 525 (vs. ulimit of 5500)
modules C: hadoop-tools/hadoop-azure U: hadoop-tools/hadoop-azure
Console output https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-7369/3/console
versions git=2.25.1 maven=3.6.3 spotbugs=4.2.2
Powered by Apache Yetus 0.14.0 https://yetus.apache.org

This message was automatically generated.

@hadoop-yetus
Copy link

🎊 +1 overall

Vote Subsystem Runtime Logfile Comment
+0 🆗 reexec 0m 31s Docker mode activated.
_ Prechecks _
+1 💚 dupname 0m 1s No case conflicting files found.
+0 🆗 codespell 0m 0s codespell was not available.
+0 🆗 detsecrets 0m 0s detect-secrets was not available.
+1 💚 @author 0m 0s The patch does not contain any @author tags.
+1 💚 test4tests 0m 0s The patch appears to include 55 new or modified test files.
_ trunk Compile Tests _
+1 💚 mvninstall 35m 21s trunk passed
+1 💚 compile 0m 40s trunk passed with JDK Ubuntu-11.0.25+9-post-Ubuntu-1ubuntu120.04
+1 💚 compile 0m 37s trunk passed with JDK Private Build-1.8.0_432-8u432-gaus1-0ubuntu220.04-ga
+1 💚 checkstyle 0m 35s trunk passed
+1 💚 mvnsite 0m 41s trunk passed
+1 💚 javadoc 0m 41s trunk passed with JDK Ubuntu-11.0.25+9-post-Ubuntu-1ubuntu120.04
+1 💚 javadoc 0m 35s trunk passed with JDK Private Build-1.8.0_432-8u432-gaus1-0ubuntu220.04-ga
+1 💚 spotbugs 1m 10s trunk passed
+1 💚 shadedclient 34m 29s branch has no errors when building and testing our client artifacts.
_ Patch Compile Tests _
+1 💚 mvninstall 0m 30s the patch passed
+1 💚 compile 0m 31s the patch passed with JDK Ubuntu-11.0.25+9-post-Ubuntu-1ubuntu120.04
+1 💚 javac 0m 31s the patch passed
+1 💚 compile 0m 28s the patch passed with JDK Private Build-1.8.0_432-8u432-gaus1-0ubuntu220.04-ga
+1 💚 javac 0m 28s the patch passed
+1 💚 blanks 0m 0s The patch has no blanks issues.
-0 ⚠️ checkstyle 0m 23s /results-checkstyle-hadoop-tools_hadoop-azure.txt hadoop-tools/hadoop-azure: The patch generated 41 new + 282 unchanged - 36 fixed = 323 total (was 318)
+1 💚 mvnsite 0m 31s the patch passed
+1 💚 javadoc 0m 29s the patch passed with JDK Ubuntu-11.0.25+9-post-Ubuntu-1ubuntu120.04
+1 💚 javadoc 0m 26s the patch passed with JDK Private Build-1.8.0_432-8u432-gaus1-0ubuntu220.04-ga
+1 💚 spotbugs 1m 7s the patch passed
+1 💚 shadedclient 34m 0s patch has no errors when building and testing our client artifacts.
_ Other Tests _
+1 💚 unit 2m 54s hadoop-azure in the patch passed.
+1 💚 asflicense 0m 37s The patch does not generate ASF License warnings.
118m 52s
Subsystem Report/Notes
Docker ClientAPI=1.47 ServerAPI=1.47 base: https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-7369/4/artifact/out/Dockerfile
GITHUB PR #7369
Optional Tests dupname asflicense compile javac javadoc mvninstall mvnsite unit shadedclient spotbugs checkstyle codespell detsecrets
uname Linux b62d37852d8d 5.15.0-130-generic #140-Ubuntu SMP Wed Dec 18 17:59:53 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux
Build tool maven
Personality dev-support/bin/hadoop.sh
git revision trunk / 8852f97
Default Java Private Build-1.8.0_432-8u432-gaus1-0ubuntu220.04-ga
Multi-JDK versions /usr/lib/jvm/java-11-openjdk-amd64:Ubuntu-11.0.25+9-post-Ubuntu-1ubuntu120.04 /usr/lib/jvm/java-8-openjdk-amd64:Private Build-1.8.0_432-8u432-gaus1-0ubuntu220.04-ga
Test Results https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-7369/4/testReport/
Max. process+thread count 618 (vs. ulimit of 5500)
modules C: hadoop-tools/hadoop-azure U: hadoop-tools/hadoop-azure
Console output https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-7369/4/console
versions git=2.25.1 maven=3.6.3 spotbugs=4.2.2
Powered by Apache Yetus 0.14.0 https://yetus.apache.org

This message was automatically generated.

@slfan1989
Copy link
Contributor Author

@cnauroth @steveloughran @anujmodi2021 Can you help review this PR? Thank you very much!

@hadoop-yetus
Copy link

🎊 +1 overall

Vote Subsystem Runtime Logfile Comment
+0 🆗 reexec 0m 55s Docker mode activated.
_ Prechecks _
+1 💚 dupname 0m 1s No case conflicting files found.
+0 🆗 codespell 0m 1s codespell was not available.
+0 🆗 detsecrets 0m 1s detect-secrets was not available.
+1 💚 @author 0m 0s The patch does not contain any @author tags.
+1 💚 test4tests 0m 0s The patch appears to include 55 new or modified test files.
_ trunk Compile Tests _
+1 💚 mvninstall 40m 21s trunk passed
+1 💚 compile 0m 44s trunk passed with JDK Ubuntu-11.0.25+9-post-Ubuntu-1ubuntu120.04
+1 💚 compile 0m 36s trunk passed with JDK Private Build-1.8.0_432-8u432-gaus1-0ubuntu220.04-ga
+1 💚 checkstyle 0m 33s trunk passed
+1 💚 mvnsite 0m 41s trunk passed
+1 💚 javadoc 0m 41s trunk passed with JDK Ubuntu-11.0.25+9-post-Ubuntu-1ubuntu120.04
+1 💚 javadoc 0m 33s trunk passed with JDK Private Build-1.8.0_432-8u432-gaus1-0ubuntu220.04-ga
+1 💚 spotbugs 1m 8s trunk passed
+1 💚 shadedclient 39m 18s branch has no errors when building and testing our client artifacts.
_ Patch Compile Tests _
+1 💚 mvninstall 0m 31s the patch passed
+1 💚 compile 0m 34s the patch passed with JDK Ubuntu-11.0.25+9-post-Ubuntu-1ubuntu120.04
+1 💚 javac 0m 34s the patch passed
+1 💚 compile 0m 28s the patch passed with JDK Private Build-1.8.0_432-8u432-gaus1-0ubuntu220.04-ga
+1 💚 javac 0m 28s the patch passed
+1 💚 blanks 0m 0s The patch has no blanks issues.
-0 ⚠️ checkstyle 0m 22s /results-checkstyle-hadoop-tools_hadoop-azure.txt hadoop-tools/hadoop-azure: The patch generated 20 new + 267 unchanged - 52 fixed = 287 total (was 319)
+1 💚 mvnsite 0m 31s the patch passed
+1 💚 javadoc 0m 30s the patch passed with JDK Ubuntu-11.0.25+9-post-Ubuntu-1ubuntu120.04
+1 💚 javadoc 0m 27s the patch passed with JDK Private Build-1.8.0_432-8u432-gaus1-0ubuntu220.04-ga
+1 💚 spotbugs 1m 8s the patch passed
+1 💚 shadedclient 38m 47s patch has no errors when building and testing our client artifacts.
_ Other Tests _
+1 💚 unit 2m 45s hadoop-azure in the patch passed.
+1 💚 asflicense 0m 36s The patch does not generate ASF License warnings.
133m 46s
Subsystem Report/Notes
Docker ClientAPI=1.47 ServerAPI=1.47 base: https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-7369/5/artifact/out/Dockerfile
GITHUB PR #7369
Optional Tests dupname asflicense compile javac javadoc mvninstall mvnsite unit shadedclient spotbugs checkstyle codespell detsecrets
uname Linux f8978b9a025e 5.15.0-131-generic #141-Ubuntu SMP Fri Jan 10 21:18:28 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux
Build tool maven
Personality dev-support/bin/hadoop.sh
git revision trunk / 92f15fb
Default Java Private Build-1.8.0_432-8u432-gaus1-0ubuntu220.04-ga
Multi-JDK versions /usr/lib/jvm/java-11-openjdk-amd64:Ubuntu-11.0.25+9-post-Ubuntu-1ubuntu120.04 /usr/lib/jvm/java-8-openjdk-amd64:Private Build-1.8.0_432-8u432-gaus1-0ubuntu220.04-ga
Test Results https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-7369/5/testReport/
Max. process+thread count 558 (vs. ulimit of 5500)
modules C: hadoop-tools/hadoop-azure U: hadoop-tools/hadoop-azure
Console output https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-7369/5/console
versions git=2.25.1 maven=3.6.3 spotbugs=4.2.2
Powered by Apache Yetus 0.14.0 https://yetus.apache.org

This message was automatically generated.

Copy link
Contributor

@cnauroth cnauroth left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi @slfan1989 . This looks good to me overall. I entered one question.

Are you able to run these tests against Azure to make sure they're all working? Unfortunately, I can't help with that kind of testing. I can test GCS and S3A (using GCS's S3-compatible XML API), but not the other cloud providers. If you need help with this testing, then you might need to work with someone else.

@@ -434,10 +431,6 @@ class MatchesPattern extends TypeSafeMatcher<String> {
}
}

expectedEx.expectMessage(new MatchesPattern(
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Did we lose an expectation here?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In JUnit 5, org.junit.rules.ExpectedException has been deprecated, and it is recommended to use assertThrows to validate exception throwing, as shown below:

import static org.junit.jupiter.api.Assertions.assertThrows;

@Test
public void shouldThrowException() {
  assertThrows(IllegalArgumentException.class, () -> {
      someMethodThatThrows();
  });
}

The change is primarily in syntax, where assertThrows captures exceptions via lambda expressions, replacing the ExpectedException rule from JUnit 4. However, it does not have any fundamental impact on the logic of unit tests.

I can further improve this unit test to also validate the exception message using a regular expression.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I have seen the conversions to assertThrows. Those all look good.

Perhaps what I find confusing is that the setupExpectations() method now seems to be a no-op. It seems to define a custom matcher class, but then never use it. Should setupExpectations() be removed, or am I missing something?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you for your suggestion! I also believe that setupExpectations should be removed. I will continue to improve the code.

@slfan1989
Copy link
Contributor Author

Hi @slfan1989 . This looks good to me overall. I entered one question.

Are you able to run these tests against Azure to make sure they're all working? Unfortunately, I can't help with that kind of testing. I can test GCS and S3A (using GCS's S3-compatible XML API), but not the other cloud providers. If you need help with this testing, then you might need to work with someone else.

@cnauroth Thank you very much for your explanation! I think this change needs to be verified by @steveloughran and @anujmodi2021 together, and I hope it can pass the integration tests. If there are any issues, I will make improvements as needed.

@hadoop-yetus
Copy link

🎊 +1 overall

Vote Subsystem Runtime Logfile Comment
+0 🆗 reexec 18m 27s Docker mode activated.
_ Prechecks _
+1 💚 dupname 0m 1s No case conflicting files found.
+0 🆗 codespell 0m 1s codespell was not available.
+0 🆗 detsecrets 0m 1s detect-secrets was not available.
+1 💚 @author 0m 0s The patch does not contain any @author tags.
+1 💚 test4tests 0m 0s The patch appears to include 55 new or modified test files.
_ trunk Compile Tests _
+1 💚 mvninstall 41m 0s trunk passed
+1 💚 compile 0m 45s trunk passed with JDK Ubuntu-11.0.26+4-post-Ubuntu-1ubuntu120.04
+1 💚 compile 0m 37s trunk passed with JDK Private Build-1.8.0_442-8u442-b06us1-0ubuntu120.04-b06
+1 💚 checkstyle 0m 35s trunk passed
+1 💚 mvnsite 0m 40s trunk passed
+1 💚 javadoc 0m 40s trunk passed with JDK Ubuntu-11.0.26+4-post-Ubuntu-1ubuntu120.04
+1 💚 javadoc 0m 30s trunk passed with JDK Private Build-1.8.0_442-8u442-b06us1-0ubuntu120.04-b06
+1 💚 spotbugs 1m 7s trunk passed
+1 💚 shadedclient 38m 46s branch has no errors when building and testing our client artifacts.
_ Patch Compile Tests _
+1 💚 mvninstall 0m 30s the patch passed
+1 💚 compile 0m 33s the patch passed with JDK Ubuntu-11.0.26+4-post-Ubuntu-1ubuntu120.04
+1 💚 javac 0m 33s the patch passed
+1 💚 compile 0m 28s the patch passed with JDK Private Build-1.8.0_442-8u442-b06us1-0ubuntu120.04-b06
+1 💚 javac 0m 28s the patch passed
+1 💚 blanks 0m 0s The patch has no blanks issues.
-0 ⚠️ checkstyle 0m 22s /results-checkstyle-hadoop-tools_hadoop-azure.txt hadoop-tools/hadoop-azure: The patch generated 22 new + 267 unchanged - 52 fixed = 289 total (was 319)
+1 💚 mvnsite 0m 31s the patch passed
+1 💚 javadoc 0m 28s the patch passed with JDK Ubuntu-11.0.26+4-post-Ubuntu-1ubuntu120.04
+1 💚 javadoc 0m 25s the patch passed with JDK Private Build-1.8.0_442-8u442-b06us1-0ubuntu120.04-b06
+1 💚 spotbugs 1m 6s the patch passed
+1 💚 shadedclient 39m 20s patch has no errors when building and testing our client artifacts.
_ Other Tests _
+1 💚 unit 2m 42s hadoop-azure in the patch passed.
+1 💚 asflicense 0m 35s The patch does not generate ASF License warnings.
151m 44s
Subsystem Report/Notes
Docker ClientAPI=1.47 ServerAPI=1.47 base: https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-7369/6/artifact/out/Dockerfile
GITHUB PR #7369
Optional Tests dupname asflicense compile javac javadoc mvninstall mvnsite unit shadedclient spotbugs checkstyle codespell detsecrets
uname Linux a184f5a66637 5.15.0-131-generic #141-Ubuntu SMP Fri Jan 10 21:18:28 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux
Build tool maven
Personality dev-support/bin/hadoop.sh
git revision trunk / 8030686
Default Java Private Build-1.8.0_442-8u442-b06us1-0ubuntu120.04-b06
Multi-JDK versions /usr/lib/jvm/java-11-openjdk-amd64:Ubuntu-11.0.26+4-post-Ubuntu-1ubuntu120.04 /usr/lib/jvm/java-8-openjdk-amd64:Private Build-1.8.0_442-8u442-b06us1-0ubuntu120.04-b06
Test Results https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-7369/6/testReport/
Max. process+thread count 523 (vs. ulimit of 5500)
modules C: hadoop-tools/hadoop-azure U: hadoop-tools/hadoop-azure
Console output https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-7369/6/console
versions git=2.25.1 maven=3.6.3 spotbugs=4.2.2
Powered by Apache Yetus 0.14.0 https://yetus.apache.org

This message was automatically generated.

@anujmodi2021
Copy link
Contributor

Thanks a lot @slfan1989 for the patch.
Me and our whole team will review the PR and verify the changes with full CI runs on azure.
Will post the findings here.

@slfan1989
Copy link
Contributor Author

Thanks a lot @slfan1989 for the patch.
Me and our whole team will review the PR and verify the changes with full CI runs on azure.
Will post the findings here.

@anujmodi2021 Thank you very much for your help! I sincerely hope that our work will be completed successfully.

Copy link
Contributor

@cnauroth cnauroth left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

+1, pending successful run of the integration tests. Thank you, @slfan1989 ! @anujmodi2021 , thank you for the help with testing.

Copy link
Contributor

@anujmodi2021 anujmodi2021 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks @slfan1989 and pardon me for the delay in review.
Changes look good to me. No functionality change as such.
Have added some minor doubts and suggestions.

Waiting for test results to come in before +1.

Also, are you planning to do same work for ABFS Driver as well?? As part 2 of this Jira??

@@ -157,7 +157,7 @@ public void testTransientErrorOnDelete() throws Exception {
// Need to do this test against a live storage account
AzureBlobStorageTestAccount testAccount =
AzureBlobStorageTestAccount.create();
assumeNotNull(testAccount);
assumeTrue(testAccount != null);
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nit: would it be better to define a accessible method assumeNotNull(variable) that internally calls assumeTrue(variable!= null);
This will reduce the overall diffs I feel.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you for your suggestions! I will try to improve this part of the code.

@@ -40,7 +41,7 @@ public class ITestNativeAzureFileSystemConcurrencyLive
extends AbstractWasbTestBase {

private static final int THREAD_COUNT = 102;
private static final int TEST_EXECUTION_TIMEOUT = 30000;
private static final int TEST_EXECUTION_TIMEOUT = 30;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why we are reducing this value?? Any specific reason or observation around this?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this is more that from JUnit 4 to 5, the default time unit for timeout settings has transitioned from milliseconds to seconds. Hence, the constant changes from 30000 (milliseconds) to 30 (seconds). The value is not being reduced.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@anujmodi2021 The understanding of @cnauroth is correct. In JUnit 5, the timeout is in seconds, while in JUnit 4, the timeout is in milliseconds. So, I changed this value to be in seconds.

@slfan1989
Copy link
Contributor Author

Thanks @slfan1989 and pardon me for the delay in review. Changes look good to me. No functionality change as such. Have added some minor doubts and suggestions.

Waiting for test results to come in before +1.

Also, are you planning to do same work for ABFS Driver as well?? As part 2 of this Jira??

@anujmodi2021 @cnauroth

We plan to upgrade all unit tests for hadoop-azure to JUnit 5. I will continue with Part 2, but to make the review process smoother, we will keep the code changes smaller for each commit. Additionally, any parts that depend on hadoop-common will be addressed in a separate PR(#7375).

However, we will need your assistance throughout the entire upgrade process.

@anujmodi2021
Copy link
Contributor

anujmodi2021 commented Feb 11, 2025

Thanks @slfan1989 and pardon me for the delay in review. Changes look good to me. No functionality change as such. Have added some minor doubts and suggestions.
Waiting for test results to come in before +1.
Also, are you planning to do same work for ABFS Driver as well?? As part 2 of this Jira??

@anujmodi2021 @cnauroth

We plan to upgrade all unit tests for hadoop-azure to JUnit 5. I will continue with Part 2, but to make the review process smoother, we will keep the code changes smaller for each commit. Additionally, any parts that depend on hadoop-common will be addressed in a separate PR(#7375).

However, we will need your assistance throughout the entire upgrade process.

Thank you for leading efforts on this @slfan1989
Plan sounds good. We will surely assist you according to our capabilities.

@anujmodi2021
Copy link
Contributor

anujmodi2021 commented Feb 11, 2025

I got a few test failures on this patch. Since We majorly work on ABFS and don't have much context on Wasb we are not sure currently if they are due to some code change or mis configuration on our part.

I will continue to look into them today, please pitch in if you might know why they are failing.

[ERROR] org.apache.hadoop.fs.azure.ITestFileSystemOperationExceptionMessage.testAnonymouseCredentialExceptionMessage  Time elapsed: 0.607 s  <<< FAILURE!
[ERROR] org.apache.hadoop.fs.azure.ITestWasbUriAndConfiguration.testConnectUsingSecureSAS  Time elapsed: 3.578 s  <<< FAILURE!
[ERROR] org.apache.hadoop.fs.azure.ITestWasbUriAndConfiguration.testCanonicalServiceName  Time elapsed: 0.088 s  <<< FAILURE!
[ERROR] org.apache.hadoop.fs.azure.metrics.ITestAzureFileSystemInstrumentation.testMetricsOnFileCreateRead  Time elapsed: 3.619 s  <<< FAILURE!
[ERROR] org.apache.hadoop.fs.azure.ITestBlockBlobInputStream.test_0317_RandomReadPerformance  Time elapsed: 1,867.927 s  <<< FAILURE!

[ERROR] org.apache.hadoop.fs.azure.integration.ITestAzureHugeFiles.test_010_CreateHugeFile(TestInfo)  Time elapsed: 0.022 s  <<< ERROR!
[ERROR] org.apache.hadoop.fs.azure.integration.ITestAzureHugeFiles.test_040_PositionedReadHugeFile(TestInfo)  Time elapsed: 0.002 s  <<< ERROR!
[ERROR] org.apache.hadoop.fs.azure.integration.ITestAzureHugeFiles.test_050_readHugeFile(TestInfo)  Time elapsed: 0.002 s  <<< ERROR!
[ERROR] org.apache.hadoop.fs.azure.integration.ITestAzureHugeFiles.test_060_openAndReadWholeFileBlocks(TestInfo)  Time elapsed: 0.003 s  <<< ERROR!
[ERROR] org.apache.hadoop.fs.azure.integration.ITestAzureHugeFiles.test_100_renameHugeFile(TestInfo)  Time elapsed: 0.004 s  <<< ERROR!
[ERROR] org.apache.hadoop.fs.azure.integration.ITestAzureHugeFiles.test_999_deleteHugeFiles(TestInfo)  Time elapsed: 0.012 s  <<< ERROR!

For the ITestAzureHugeFiles looks like setup was supposed to be called before test method but it is not called.

Copy link
Contributor

@anujmodi2021 anujmodi2021 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Found issues with a few failing tests

@cnauroth
Copy link
Contributor

I got a few test failures on this patch. Since We majorly work on ABFS and don't have much context on Wasb we are not sure currently if they are due to some code change or mis configuration on our part.

I will continue to look into them today, please pitch in if you might know why they are failing.

[ERROR] org.apache.hadoop.fs.azure.ITestFileSystemOperationExceptionMessage.testAnonymouseCredentialExceptionMessage  Time elapsed: 0.607 s  <<< FAILURE!
[ERROR] org.apache.hadoop.fs.azure.ITestWasbUriAndConfiguration.testConnectUsingSecureSAS  Time elapsed: 3.578 s  <<< FAILURE!
[ERROR] org.apache.hadoop.fs.azure.ITestWasbUriAndConfiguration.testCanonicalServiceName  Time elapsed: 0.088 s  <<< FAILURE!
[ERROR] org.apache.hadoop.fs.azure.metrics.ITestAzureFileSystemInstrumentation.testMetricsOnFileCreateRead  Time elapsed: 3.619 s  <<< FAILURE!
[ERROR] org.apache.hadoop.fs.azure.ITestBlockBlobInputStream.test_0317_RandomReadPerformance  Time elapsed: 1,867.927 s  <<< FAILURE!

[ERROR] org.apache.hadoop.fs.azure.integration.ITestAzureHugeFiles.test_010_CreateHugeFile(TestInfo)  Time elapsed: 0.022 s  <<< ERROR!
[ERROR] org.apache.hadoop.fs.azure.integration.ITestAzureHugeFiles.test_040_PositionedReadHugeFile(TestInfo)  Time elapsed: 0.002 s  <<< ERROR!
[ERROR] org.apache.hadoop.fs.azure.integration.ITestAzureHugeFiles.test_050_readHugeFile(TestInfo)  Time elapsed: 0.002 s  <<< ERROR!
[ERROR] org.apache.hadoop.fs.azure.integration.ITestAzureHugeFiles.test_060_openAndReadWholeFileBlocks(TestInfo)  Time elapsed: 0.003 s  <<< ERROR!
[ERROR] org.apache.hadoop.fs.azure.integration.ITestAzureHugeFiles.test_100_renameHugeFile(TestInfo)  Time elapsed: 0.004 s  <<< ERROR!
[ERROR] org.apache.hadoop.fs.azure.integration.ITestAzureHugeFiles.test_999_deleteHugeFiles(TestInfo)  Time elapsed: 0.012 s  <<< ERROR!

For the ITestAzureHugeFiles looks like setup was supposed to be called before test method but it is not called.

It sounds like you have a solid lead on ITestAzureHugeFiles.

For the rest, are you able to share more details on the assertions that are failing? There is a very small chance that I could dig back into my brain's WASB archives from 10 years ago and provide a hint. No promises, but I'll try!

@slfan1989
Copy link
Contributor Author

@anujmodi2021 I have submitted a commit with adjustments to the code we discussed earlier. If you have any new questions, feel free to leave a comment. If we can provide more specific error messages, it will be easier to pinpoint the issue. Thank you again!

cc: @cnauroth

@hadoop-yetus
Copy link

🎊 +1 overall

Vote Subsystem Runtime Logfile Comment
+0 🆗 reexec 0m 49s Docker mode activated.
_ Prechecks _
+1 💚 dupname 0m 1s No case conflicting files found.
+0 🆗 codespell 0m 0s codespell was not available.
+0 🆗 detsecrets 0m 0s detect-secrets was not available.
+1 💚 @author 0m 0s The patch does not contain any @author tags.
+1 💚 test4tests 0m 0s The patch appears to include 55 new or modified test files.
_ trunk Compile Tests _
+1 💚 mvninstall 40m 25s trunk passed
+1 💚 compile 0m 40s trunk passed with JDK Ubuntu-11.0.26+4-post-Ubuntu-1ubuntu120.04
+1 💚 compile 0m 36s trunk passed with JDK Private Build-1.8.0_442-8u442-b06us1-0ubuntu120.04-b06
+1 💚 checkstyle 0m 34s trunk passed
+1 💚 mvnsite 0m 41s trunk passed
+1 💚 javadoc 0m 41s trunk passed with JDK Ubuntu-11.0.26+4-post-Ubuntu-1ubuntu120.04
+1 💚 javadoc 0m 33s trunk passed with JDK Private Build-1.8.0_442-8u442-b06us1-0ubuntu120.04-b06
+1 💚 spotbugs 1m 7s trunk passed
+1 💚 shadedclient 39m 33s branch has no errors when building and testing our client artifacts.
_ Patch Compile Tests _
+1 💚 mvninstall 0m 30s the patch passed
+1 💚 compile 0m 32s the patch passed with JDK Ubuntu-11.0.26+4-post-Ubuntu-1ubuntu120.04
+1 💚 javac 0m 32s the patch passed
+1 💚 compile 0m 27s the patch passed with JDK Private Build-1.8.0_442-8u442-b06us1-0ubuntu120.04-b06
+1 💚 javac 0m 27s the patch passed
+1 💚 blanks 0m 0s The patch has no blanks issues.
-0 ⚠️ checkstyle 0m 22s /results-checkstyle-hadoop-tools_hadoop-azure.txt hadoop-tools/hadoop-azure: The patch generated 27 new + 267 unchanged - 52 fixed = 294 total (was 319)
+1 💚 mvnsite 0m 31s the patch passed
+1 💚 javadoc 0m 28s the patch passed with JDK Ubuntu-11.0.26+4-post-Ubuntu-1ubuntu120.04
+1 💚 javadoc 0m 25s the patch passed with JDK Private Build-1.8.0_442-8u442-b06us1-0ubuntu120.04-b06
+1 💚 spotbugs 1m 6s the patch passed
+1 💚 shadedclient 38m 37s patch has no errors when building and testing our client artifacts.
_ Other Tests _
+1 💚 unit 2m 42s hadoop-azure in the patch passed.
+1 💚 asflicense 0m 35s The patch does not generate ASF License warnings.
133m 19s
Subsystem Report/Notes
Docker ClientAPI=1.47 ServerAPI=1.47 base: https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-7369/7/artifact/out/Dockerfile
GITHUB PR #7369
Optional Tests dupname asflicense compile javac javadoc mvninstall mvnsite unit shadedclient spotbugs checkstyle codespell detsecrets
uname Linux 204990b9e5ac 5.15.0-131-generic #141-Ubuntu SMP Fri Jan 10 21:18:28 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux
Build tool maven
Personality dev-support/bin/hadoop.sh
git revision trunk / 859a45c
Default Java Private Build-1.8.0_442-8u442-b06us1-0ubuntu120.04-b06
Multi-JDK versions /usr/lib/jvm/java-11-openjdk-amd64:Ubuntu-11.0.26+4-post-Ubuntu-1ubuntu120.04 /usr/lib/jvm/java-8-openjdk-amd64:Private Build-1.8.0_442-8u442-b06us1-0ubuntu120.04-b06
Test Results https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-7369/7/testReport/
Max. process+thread count 584 (vs. ulimit of 5500)
modules C: hadoop-tools/hadoop-azure U: hadoop-tools/hadoop-azure
Console output https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-7369/7/console
versions git=2.25.1 maven=3.6.3 spotbugs=4.2.2
Powered by Apache Yetus 0.14.0 https://yetus.apache.org

This message was automatically generated.

@anujmodi2021
Copy link
Contributor

I got a few test failures on this patch. Since We majorly work on ABFS and don't have much context on Wasb we are not sure currently if they are due to some code change or mis configuration on our part.
I will continue to look into them today, please pitch in if you might know why they are failing.

[ERROR] org.apache.hadoop.fs.azure.ITestFileSystemOperationExceptionMessage.testAnonymouseCredentialExceptionMessage  Time elapsed: 0.607 s  <<< FAILURE!
[ERROR] org.apache.hadoop.fs.azure.ITestWasbUriAndConfiguration.testConnectUsingSecureSAS  Time elapsed: 3.578 s  <<< FAILURE!
[ERROR] org.apache.hadoop.fs.azure.ITestWasbUriAndConfiguration.testCanonicalServiceName  Time elapsed: 0.088 s  <<< FAILURE!
[ERROR] org.apache.hadoop.fs.azure.metrics.ITestAzureFileSystemInstrumentation.testMetricsOnFileCreateRead  Time elapsed: 3.619 s  <<< FAILURE!
[ERROR] org.apache.hadoop.fs.azure.ITestBlockBlobInputStream.test_0317_RandomReadPerformance  Time elapsed: 1,867.927 s  <<< FAILURE!

[ERROR] org.apache.hadoop.fs.azure.integration.ITestAzureHugeFiles.test_010_CreateHugeFile(TestInfo)  Time elapsed: 0.022 s  <<< ERROR!
[ERROR] org.apache.hadoop.fs.azure.integration.ITestAzureHugeFiles.test_040_PositionedReadHugeFile(TestInfo)  Time elapsed: 0.002 s  <<< ERROR!
[ERROR] org.apache.hadoop.fs.azure.integration.ITestAzureHugeFiles.test_050_readHugeFile(TestInfo)  Time elapsed: 0.002 s  <<< ERROR!
[ERROR] org.apache.hadoop.fs.azure.integration.ITestAzureHugeFiles.test_060_openAndReadWholeFileBlocks(TestInfo)  Time elapsed: 0.003 s  <<< ERROR!
[ERROR] org.apache.hadoop.fs.azure.integration.ITestAzureHugeFiles.test_100_renameHugeFile(TestInfo)  Time elapsed: 0.004 s  <<< ERROR!
[ERROR] org.apache.hadoop.fs.azure.integration.ITestAzureHugeFiles.test_999_deleteHugeFiles(TestInfo)  Time elapsed: 0.012 s  <<< ERROR!

For the ITestAzureHugeFiles looks like setup was supposed to be called before test method but it is not called.

It sounds like you have a solid lead on ITestAzureHugeFiles.

For the rest, are you able to share more details on the assertions that are failing? There is a very small chance that I could dig back into my brain's WASB archives from 10 years ago and provide a hint. No promises, but I'll try!

Yes, let me share the traces here.

  1. ITestFileSystemOperationExceptionMessage.testAnonymouseCredentialExceptionMessage is failing for me even on trunk.

	at org.junit.jupiter.api.AssertionUtils.fail(AssertionUtils.java:39)
	at org.junit.jupiter.api.Assertions.fail(Assertions.java:134)
	at org.apache.hadoop.fs.azure.ITestFileSystemOperationExceptionMessage.testAnonymouseCredentialExceptionMessage(ITestFileSystemOperationExceptionMessage.java:62)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at org.junit.platform.commons.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:725)
	at org.junit.jupiter.engine.execution.MethodInvocation.proceed(MethodInvocation.java:60)
	at org.junit.jupiter.engine.execution.InvocationInterceptorChain$ValidatingInvocation.proceed(InvocationInterceptorChain.java:131)
	at org.junit.jupiter.engine.extension.TimeoutInvocation.proceed(TimeoutInvocation.java:46)
	at org.junit.jupiter.engine.extension.TimeoutExtension.intercept(TimeoutExtension.java:149)
	at org.junit.jupiter.engine.extension.TimeoutExtension.interceptTestableMethod(TimeoutExtension.java:140)
	at org.junit.jupiter.engine.extension.TimeoutExtension.interceptTestMethod(TimeoutExtension.java:84)
	at org.junit.jupiter.engine.execution.ExecutableInvoker$ReflectiveInterceptorCall.lambda$ofVoidMethod$0(ExecutableInvoker.java:115)
	at org.junit.jupiter.engine.execution.ExecutableInvoker.lambda$invoke$0(ExecutableInvoker.java:105)
	at org.junit.jupiter.engine.execution.InvocationInterceptorChain$InterceptedInvocation.proceed(InvocationInterceptorChain.java:106)
	at org.junit.jupiter.engine.execution.InvocationInterceptorChain.proceed(InvocationInterceptorChain.java:64)
	at org.junit.jupiter.engine.execution.InvocationInterceptorChain.chainAndInvoke(InvocationInterceptorChain.java:45)
	at org.junit.jupiter.engine.execution.InvocationInterceptorChain.invoke(InvocationInterceptorChain.java:37)
	at org.junit.jupiter.engine.execution.ExecutableInvoker.invoke(ExecutableInvoker.java:104)
	at org.junit.jupiter.engine.execution.ExecutableInvoker.invoke(ExecutableInvoker.java:98)
	at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$invokeTestMethod$7(TestMethodTestDescriptor.java:214)
	at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
	at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.invokeTestMethod(TestMethodTestDescriptor.java:210)
	at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:135)
	at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:66)
	at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:151)
	at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
	at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:141)
	at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137)
	at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:139)
	at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
	at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:138)
	at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:95)
	at java.util.ArrayList.forEach(ArrayList.java:1259)
	at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:41)
	at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:155)
	at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
	at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:141)
	at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137)
	at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:139)
	at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
	at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:138)
	at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:95)
	at java.util.ArrayList.forEach(ArrayList.java:1259)
	at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:41)
	at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:155)
	at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
	at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:141)
	at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137)
	at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:139)
	at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
	at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:138)
	at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:95)
	at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.submit(SameThreadHierarchicalTestExecutorService.java:35)
	at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:57)
	at org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine.execute(HierarchicalTestEngine.java:54)
	at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:107)
	at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:88)
	at org.junit.platform.launcher.core.EngineExecutionOrchestrator.lambda$execute$0(EngineExecutionOrchestrator.java:54)
	at org.junit.platform.launcher.core.EngineExecutionOrchestrator.withInterceptedStreams(EngineExecutionOrchestrator.java:67)
	at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:52)
	at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:114)
	at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:86)
	at org.junit.platform.launcher.core.DefaultLauncherSession$DelegatingLauncher.execute(DefaultLauncherSession.java:86)
	at org.junit.platform.launcher.core.SessionPerRequestLauncher.execute(SessionPerRequestLauncher.java:53)
	at com.intellij.junit5.JUnit5IdeaTestRunner.startRunnerWithArgs(JUnit5IdeaTestRunner.java:57)
	at com.intellij.rt.junit.IdeaTestRunner$Repeater$1.execute(IdeaTestRunner.java:38)
	at com.intellij.rt.execution.junit.TestsRepeater.repeat(TestsRepeater.java:11)
	at com.intellij.rt.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:35)
	at com.intellij.rt.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:232)
	at com.intellij.rt.junit.JUnitStarter.main(JUnitStarter.java:55)

@anujmodi2021
Copy link
Contributor

@cnauroth
For ITestWasbUriAndConfiguration.testConnectUsingSecureSAS:

java.lang.AssertionError:  Expected to find 'An error occurred while enumerating the result, check the original exception for details.' but got unexpected exception: org.apache.hadoop.fs.azure.AzureException: java.io.IOException: The specified container does not exist. Please see the cause for further information.
	at org.apache.hadoop.fs.azure.AzureNativeFileSystemStore.storeEmptyLinkFile(AzureNativeFileSystemStore.java:1865)
	at org.apache.hadoop.fs.azure.NativeAzureFileSystem.createInternal(NativeAzureFileSystem.java:1946)
	at org.apache.hadoop.fs.azure.NativeAzureFileSystem.create(NativeAzureFileSystem.java:1857)
	at org.apache.hadoop.fs.azure.NativeAzureFileSystem.create(NativeAzureFileSystem.java:1701)
	at org.apache.hadoop.fs.FileSystem.create(FileSystem.java:1233)
	at org.apache.hadoop.fs.FileSystem.create(FileSystem.java:1210)
	at org.apache.hadoop.fs.FileSystem.create(FileSystem.java:1091)
	at org.apache.hadoop.fs.contract.ContractTestUtils.file(ContractTestUtils.java:671)
	at org.apache.hadoop.fs.contract.ContractTestUtils.createFile(ContractTestUtils.java:655)
	at org.apache.hadoop.fs.contract.ContractTestUtils.writeTextFile(ContractTestUtils.java:639)
	at org.apache.hadoop.fs.azure.ITestWasbUriAndConfiguration.lambda$testConnectUsingSecureSAS$0(ITestWasbUriAndConfiguration.java:194)
	at org.apache.hadoop.test.LambdaTestUtils.intercept(LambdaTestUtils.java:500)
	at org.apache.hadoop.test.LambdaTestUtils.intercept(LambdaTestUtils.java:386)
	at org.apache.hadoop.test.LambdaTestUtils.intercept(LambdaTestUtils.java:455)
	at org.apache.hadoop.fs.azure.ITestWasbUriAndConfiguration.testConnectUsingSecureSAS(ITestWasbUriAndConfiguration.java:192)

For ITestAzureFileSystemInstrumentation.testMetricsOnFileCreateRead. This is also failing for me on trunk as well.

java.lang.AssertionError: The bytes written in the last second 86 is pretty far from the expected range of around 1000 bytes plus a little overhead.

	at org.junit.Assert.fail(Assert.java:89)
	at org.junit.Assert.assertTrue(Assert.java:42)
	at org.apache.hadoop.fs.azure.metrics.ITestAzureFileSystemInstrumentation.testMetricsOnFileCreateRead(ITestAzureFileSystemInstrumentation.java:158)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

@slfan1989
Copy link
Contributor Author

I will submit another version of the code later to try to fix this issue.

Copy link
Contributor

@anujmodi2021 anujmodi2021 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

+1

@anujmodi2021
Copy link
Contributor

I will submit another version of the code later to try to fix this issue.

Sounds good @slfan1989
LGTM

@cnauroth
Copy link
Contributor

ITestFileSystemOperationExceptionMessage.testAnonymouseCredentialExceptionMessage:

This is failing because it expects an exception from file system initialization:

https://github.com/apache/hadoop/blob/trunk/hadoop-tools/hadoop-azure/src/test/java/org/apache/hadoop/fs/azure/ITestFileSystemOperationExceptionMessage.java#L62

It seems to specify a random bucket and expect it to fail. I wonder if something in the initialization path has changed so that it's not making the remote call that would have triggered this error?

If it's a pre-existing failure, then I suggest we file a separate bug for follow-up and take it out of scope of this issue.

@cnauroth
Copy link
Contributor

ITestWasbUriAndConfiguration.testConnectUsingSecureSAS:

Sorry, I'm not sure about this one. I don't recall seeing this code while I was working on WASB, so maybe it came later.

@cnauroth
Copy link
Contributor

ITestAzureFileSystemInstrumentation.testMetricsOnFileCreateRead:

https://github.com/apache/hadoop/blob/trunk/hadoop-tools/hadoop-azure/src/test/java/org/apache/hadoop/fs/azure/metrics/ITestAzureFileSystemInstrumentation.java#L158

I'm guessing this is some kind of race on full metrics propagation before the assert runs.

Once again, if it fails on trunk, then I'd suggest filing a separate follow-bug issue and de-scope it from the current patch.

@slfan1989
Copy link
Contributor Author

@cnauroth @anujmodi2021 I will continue to follow up on the CheckStyle issues for this PR. If the CheckStyle issues are related to method names or magic numbers, we will not be fixing them for now. Are there any other concerns with this PR? If not, we plan to merge it tomorrow. Thank you for your help with the verification and review!

Examples of CheckStyle issues that will not be fixed for now:

./hadoop-tools/hadoop-azure/src/test/java/org/apache/hadoop/fs/azure/integration/ITestAzureHugeFiles.java:259:  public void test_040_PositionedReadHugeFile(TestInfo testInfo) throws Throwable {:15: Name 'test_040_PositionedReadHugeFile' must match pattern '^[a-z][a-zA-Z0-9]*$'. [MethodName]
./hadoop-tools/hadoop-azure/src/test/java/org/apache/hadoop/fs/azure/integration/ITestAzureHugeFiles.java:317:  public void test_050_readHugeFile(TestInfo testInfo) throws Throwable {:15: Name 'test_050_readHugeFile' must match pattern '^[a-z][a-zA-Z0-9]*$'. [MethodName]
./hadoop-tools/hadoop-azure/src/test/java/org/apache/hadoop/fs/azure/integration/ITestAzureHugeFiles.java:343:  public void test_060_openAndReadWholeFileBlocks(TestInfo testInfo) throws Throwable {:15: Name 'test_060_openAndReadWholeFileBlocks' must match pattern '^[a-z][a-zA-Z0-9]*$'. [MethodName]
./hadoop-tools/hadoop-azure/src/test/java/org/apache/hadoop/fs/azure/integration/ITestAzureHugeFiles.java:413:  public void test_100_renameHugeFile(TestInfo testInfo) throws Throwable {:15: Name 'test_100_renameHugeFile' must match pattern '^[a-z][a-zA-Z0-9]*$'. [MethodName]
./hadoop-tools/hadoop-azure/src/test/java/org/apache/hadoop/fs/azure/integration/ITestAzureHugeFiles.java:441:  public void test_999_deleteHugeFiles(TestInfo testInfo) throws IOException {:15: Name 'test_999_deleteHugeFiles' must match pattern '^[a-z][a-zA-Z0-9]*$'. [MethodName]

/hadoop-tools/hadoop-azure/src/test/java/org/apache/hadoop/fs/azure/ITestBlockBlobInputStream.java:514:      assertTrue(elapsedTimeMs < 20, String.format(:34: '20' is a magic number. [MagicNumber]
./hadoop-tools/hadoop-azure/src/test/java/org/apache/hadoop/fs/azure/ITestBlockBlobInputStream.java:578:          elapsedTimeMs < 20, String.format(:27: '20' is a magic number. [MagicNumber]

@hadoop-yetus
Copy link

🎊 +1 overall

Vote Subsystem Runtime Logfile Comment
+0 🆗 reexec 0m 51s Docker mode activated.
_ Prechecks _
+1 💚 dupname 0m 1s No case conflicting files found.
+0 🆗 codespell 0m 0s codespell was not available.
+0 🆗 detsecrets 0m 0s detect-secrets was not available.
+1 💚 @author 0m 0s The patch does not contain any @author tags.
+1 💚 test4tests 0m 0s The patch appears to include 55 new or modified test files.
_ trunk Compile Tests _
+1 💚 mvninstall 44m 38s trunk passed
+1 💚 compile 0m 40s trunk passed with JDK Ubuntu-11.0.26+4-post-Ubuntu-1ubuntu120.04
+1 💚 compile 0m 36s trunk passed with JDK Private Build-1.8.0_442-8u442-b06us1-0ubuntu120.04-b06
+1 💚 checkstyle 0m 35s trunk passed
+1 💚 mvnsite 0m 40s trunk passed
+1 💚 javadoc 0m 43s trunk passed with JDK Ubuntu-11.0.26+4-post-Ubuntu-1ubuntu120.04
+1 💚 javadoc 0m 33s trunk passed with JDK Private Build-1.8.0_442-8u442-b06us1-0ubuntu120.04-b06
+1 💚 spotbugs 1m 14s trunk passed
+1 💚 shadedclient 38m 46s branch has no errors when building and testing our client artifacts.
_ Patch Compile Tests _
+1 💚 mvninstall 0m 28s the patch passed
+1 💚 compile 0m 33s the patch passed with JDK Ubuntu-11.0.26+4-post-Ubuntu-1ubuntu120.04
+1 💚 javac 0m 33s the patch passed
+1 💚 compile 0m 28s the patch passed with JDK Private Build-1.8.0_442-8u442-b06us1-0ubuntu120.04-b06
+1 💚 javac 0m 28s the patch passed
+1 💚 blanks 0m 0s The patch has no blanks issues.
-0 ⚠️ checkstyle 0m 22s /results-checkstyle-hadoop-tools_hadoop-azure.txt hadoop-tools/hadoop-azure: The patch generated 19 new + 267 unchanged - 52 fixed = 286 total (was 319)
+1 💚 mvnsite 0m 31s the patch passed
+1 💚 javadoc 0m 28s the patch passed with JDK Ubuntu-11.0.26+4-post-Ubuntu-1ubuntu120.04
+1 💚 javadoc 0m 25s the patch passed with JDK Private Build-1.8.0_442-8u442-b06us1-0ubuntu120.04-b06
+1 💚 spotbugs 1m 6s the patch passed
+1 💚 shadedclient 39m 2s patch has no errors when building and testing our client artifacts.
_ Other Tests _
+1 💚 unit 2m 42s hadoop-azure in the patch passed.
+1 💚 asflicense 0m 36s The patch does not generate ASF License warnings.
137m 16s
Subsystem Report/Notes
Docker ClientAPI=1.47 ServerAPI=1.47 base: https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-7369/8/artifact/out/Dockerfile
GITHUB PR #7369
Optional Tests dupname asflicense compile javac javadoc mvninstall mvnsite unit shadedclient spotbugs checkstyle codespell detsecrets
uname Linux 2a1fb71b680b 5.15.0-131-generic #141-Ubuntu SMP Fri Jan 10 21:18:28 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux
Build tool maven
Personality dev-support/bin/hadoop.sh
git revision trunk / 62847bb
Default Java Private Build-1.8.0_442-8u442-b06us1-0ubuntu120.04-b06
Multi-JDK versions /usr/lib/jvm/java-11-openjdk-amd64:Ubuntu-11.0.26+4-post-Ubuntu-1ubuntu120.04 /usr/lib/jvm/java-8-openjdk-amd64:Private Build-1.8.0_442-8u442-b06us1-0ubuntu120.04-b06
Test Results https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-7369/8/testReport/
Max. process+thread count 532 (vs. ulimit of 5500)
modules C: hadoop-tools/hadoop-azure U: hadoop-tools/hadoop-azure
Console output https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-7369/8/console
versions git=2.25.1 maven=3.6.3 spotbugs=4.2.2
Powered by Apache Yetus 0.14.0 https://yetus.apache.org

This message was automatically generated.

Copy link
Contributor

@cnauroth cnauroth left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@slfan1989 and @anujmodi2021 , I think this patch is good. I recommended follow-up bugs on known test failures, but I think this patch can proceed without resolving those.

I remain +1.

Thank you to @slfan1989 for the patch and thank you to @anujmodi2021 for the review!

@anujmodi2021
Copy link
Contributor

@slfan1989 and @anujmodi2021 , I think this patch is good. I recommended follow-up bugs on known test failures, but I think this patch can proceed without resolving those.

I remain +1.

Thank you to @slfan1989 for the patch and thank you to @anujmodi2021 for the review!

+1 from my side as well.

Copy link
Contributor

@steveloughran steveloughran left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't see why every test method now needs to take a TestInfo method. It's not mandatory in JUnit5 test cases, and when needed it can be cached in setup(), where it should be completed for the test method invoked.

* @return a method name unique to (fork, method).
* @throws IOException IO problems
*/
protected Path methodPath() throws IOException {
return path(methodName.getMethodName());
protected Path methodPath(TestInfo testInfo) throws IOException {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

why is Junit 5 trying to ruin our lives. Everything worked.

setup should be caching that testinfo for the current suite, and all these helper methods just using that to derive values. we shouldn't be passing it down

Copy link
Contributor Author

@slfan1989 slfan1989 Feb 12, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you for raising this issue! In JUnit 5, org.junit.rules.TestName has been removed, and it is recommended to use TestInfo to get the test method name. TestInfo can be used as a parameter, applied in setup or test methods, but it cannot be declared as a class-level variable.

Your suggestion made me think of a new solution: we can implement a method to retrieve the test method name and register it using the @RegisterExtension annotation. This method will retrieve the current test method name during the execution of @BeforeEach.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@cnauroth @anujmodi2021 @steveloughran I have improved the code again. Could you please help review this PR?
Thank you very much!

@hadoop-yetus
Copy link

🎊 +1 overall

Vote Subsystem Runtime Logfile Comment
+0 🆗 reexec 0m 48s Docker mode activated.
_ Prechecks _
+1 💚 dupname 0m 1s No case conflicting files found.
+0 🆗 codespell 0m 0s codespell was not available.
+0 🆗 detsecrets 0m 0s detect-secrets was not available.
+1 💚 @author 0m 0s The patch does not contain any @author tags.
+1 💚 test4tests 0m 0s The patch appears to include 56 new or modified test files.
_ trunk Compile Tests _
+0 🆗 mvndep 6m 32s Maven dependency ordering for branch
+1 💚 mvninstall 35m 56s trunk passed
+1 💚 compile 19m 9s trunk passed with JDK Ubuntu-11.0.26+4-post-Ubuntu-1ubuntu120.04
+1 💚 compile 17m 0s trunk passed with JDK Private Build-1.8.0_442-8u442-b06us1-0ubuntu120.04-b06
+1 💚 checkstyle 5m 13s trunk passed
+1 💚 mvnsite 2m 35s trunk passed
+1 💚 javadoc 2m 2s trunk passed with JDK Ubuntu-11.0.26+4-post-Ubuntu-1ubuntu120.04
+1 💚 javadoc 1m 37s trunk passed with JDK Private Build-1.8.0_442-8u442-b06us1-0ubuntu120.04-b06
+1 💚 spotbugs 3m 49s trunk passed
+1 💚 shadedclient 40m 5s branch has no errors when building and testing our client artifacts.
_ Patch Compile Tests _
+0 🆗 mvndep 0m 33s Maven dependency ordering for patch
+1 💚 mvninstall 1m 27s the patch passed
+1 💚 compile 18m 14s the patch passed with JDK Ubuntu-11.0.26+4-post-Ubuntu-1ubuntu120.04
+1 💚 javac 18m 14s the patch passed
+1 💚 compile 17m 7s the patch passed with JDK Private Build-1.8.0_442-8u442-b06us1-0ubuntu120.04-b06
+1 💚 javac 17m 7s the patch passed
+1 💚 blanks 0m 0s The patch has no blanks issues.
-0 ⚠️ checkstyle 4m 33s /results-checkstyle-root.txt root: The patch generated 29 new + 272 unchanged - 47 fixed = 301 total (was 319)
+1 💚 mvnsite 2m 30s the patch passed
+1 💚 javadoc 2m 0s the patch passed with JDK Ubuntu-11.0.26+4-post-Ubuntu-1ubuntu120.04
+1 💚 javadoc 1m 37s the patch passed with JDK Private Build-1.8.0_442-8u442-b06us1-0ubuntu120.04-b06
+1 💚 spotbugs 4m 6s the patch passed
+1 💚 shadedclient 39m 26s patch has no errors when building and testing our client artifacts.
_ Other Tests _
+1 💚 unit 14m 22s hadoop-common in the patch passed.
+1 💚 unit 2m 58s hadoop-azure in the patch passed.
+1 💚 asflicense 1m 0s The patch does not generate ASF License warnings.
248m 53s
Subsystem Report/Notes
Docker ClientAPI=1.47 ServerAPI=1.47 base: https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-7369/9/artifact/out/Dockerfile
GITHUB PR #7369
Optional Tests dupname asflicense compile javac javadoc mvninstall mvnsite unit shadedclient spotbugs checkstyle codespell detsecrets
uname Linux 3562924a1b95 5.15.0-131-generic #141-Ubuntu SMP Fri Jan 10 21:18:28 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux
Build tool maven
Personality dev-support/bin/hadoop.sh
git revision trunk / 8552fcd
Default Java Private Build-1.8.0_442-8u442-b06us1-0ubuntu120.04-b06
Multi-JDK versions /usr/lib/jvm/java-11-openjdk-amd64:Ubuntu-11.0.26+4-post-Ubuntu-1ubuntu120.04 /usr/lib/jvm/java-8-openjdk-amd64:Private Build-1.8.0_442-8u442-b06us1-0ubuntu120.04-b06
Test Results https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-7369/9/testReport/
Max. process+thread count 3135 (vs. ulimit of 5500)
modules C: hadoop-common-project/hadoop-common hadoop-tools/hadoop-azure U: .
Console output https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-7369/9/console
versions git=2.25.1 maven=3.6.3 spotbugs=4.2.2
Powered by Apache Yetus 0.14.0 https://yetus.apache.org

This message was automatically generated.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants