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

HDDS-5766. Speed up some OM tests by skipping SCM safemode check #2662

Merged
merged 2 commits into from
Sep 21, 2021

Conversation

sodonnel
Copy link
Contributor

What changes were proposed in this pull request?

Many of the OzoneManager integration tests do not really use SCM or the datanodes. Therefore we can skip the safemode check in SCM and start zero datanodes to make the mini-cluster come up faster.

With just this change, on my laptop:

TestOzoneManagerConfiguration went from 6min -> 3min 40s.
TestOzoneManagerHAMetadataOnly went from 4min 19s -> 1min 9s.
TestOzoneManagerListVolumes went from 40s -> 20s
TestOMMetrics went from 2min 6 -> 39s 55s

The runtime for these tests on Github is:

[INFO] Tests run: 9, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 273.591 s - in org.apache.hadoop.ozone.om.TestOzoneManagerConfiguration

Warning: Tests run: 10, Failures: 0, Errors: 0, Skipped: 2, Time elapsed: 363.67 s - in org.apache.hadoop.ozone.om.TestOzoneManagerHAMetadataOnly

[INFO] Tests run: 5, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 181.937 s - in org.apache.hadoop.ozone.om.TestOmMetrics

[INFO] Tests run: 6, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 50.156 s - in org.apache.hadoop.ozone.om.TestOzoneManagerListVolumes

What is the link to the Apache JIRA

https://issues.apache.org/jira/browse/HDDS-5766

How was this patch tested?

Existing tests.

@sodonnel
Copy link
Contributor Author

Updated tests ran in:

[INFO] Tests run: 9, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 65.194 s - in org.apache.hadoop.ozone.om.TestOzoneManagerConfiguration

Warning:  Tests run: 10, Failures: 0, Errors: 0, Skipped: 2, Time elapsed: 72.674 s - in org.apache.hadoop.ozone.om.TestOzoneManagerHAMetadataOnly

[INFO] Tests run: 6, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 21.88 s - in org.apache.hadoop.ozone.om.TestOzoneManagerListVolumes

[INFO] Tests run: 5, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 46.888 s - in org.apache.hadoop.ozone.om.TestOmMetrics

Saving 208 + 291 + 134 + 29 = 662 seconds saved (~ 11 minutes).

@@ -367,6 +376,13 @@ public void testAclOperations() throws IOException {

@Test
public void testAclOperationsHA() throws Exception {
// This test needs a cluster with DNs and SCM to wait on safemode
cluster.shutdown();
Copy link
Contributor

Choose a reason for hiding this comment

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

This looks a bit strange. Would it be better to get rid of @Before and explicitly create cluster with desired properties for each test? (Similar to what TestOzoneManagerListVolumes did before HDDS-5717.)

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Yea I think you are correct. I have pushed a new commit that refactors things to ensure we only get the cluster we need for each test.

Copy link
Contributor

@adoroszlai adoroszlai left a comment

Choose a reason for hiding this comment

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

Thanks @sodonnel for updating the patch.

@adoroszlai adoroszlai merged commit 79da6b7 into apache:master Sep 21, 2021
errose28 added a commit to errose28/ozone that referenced this pull request Sep 30, 2021
* HDDS-4944: (81 commits)
  HDDS-5750. [Multi-Tenant] GetS3Secret should retrieve secret from new tables as well (apache#2649)
  HDDS-5476. [Multi-Tenant] Support Ozone s3 authentication with arbitrary accessId that is not same as the kerberos ID (apache#2635)
  HDDS-5770. Silent failures of k3s install are difficult to debug (apache#2667)
  HDDS-5759. Bump aspectj version (apache#2658)
  HDDS-5773. Avoid code duplication for mini cluster without datanodes (apache#2669)
  HDDS-5691. Restrict Recon NSSummaryEndpoint and ContainerEndpoint to admins. (apache#2638)
  HDDS-5771. Speed up TestDatanodeHddsVolumeFailureToleration by reducing dead interval (apache#2668)
  HDDS-5767. Unit check may timeout (apache#2664)
  HDDS-5765. Test cluster provider possibly returns null (apache#2663)
  HDDS-5768. Skip safemode check in TestOzoneManagerRocksDBLogging (apache#2665)
  HDDS-5766. Speed up some OM tests by skipping SCM safemode check (apache#2662)
  HDDS-5761. should not shutdown om when setting a bigger bucket quota  than volume quota (apache#2659)
  HDDS-5758. Speed up TestKeyInputStream and TestChunkInputStream by combining some tests (apache#2656)
  HDDS-5607. remove container manager v1 code (apache#2525)
  HDDS-5753. Split parts of misc suite (apache#2654)
  HDDS-5751. Use Mini Cluster Provider to speed up TestHDDSUpgrade (apache#2650)
  HDDS-5728. ContainerBalancer should use remaining space to calculate utilization. (apache#2625)
  HDDS-5402 Support list node based on NodeOperationalState and NodeState options in printTopology CLI (apache#2645)
  HDDS-5749. Reuse mini-clusters in TestOzoneFsHAURLs (apache#2647)
  HDDS-5717. Refactor TestOzoneManagerListVolumes to reuse mini-ozone clusters (apache#2615)
  ...
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants