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

ZTS: Retry in import_rewind_config_changed.ksh #13119

Merged

Conversation

behlendorf
Copy link
Contributor

Motivation and Context

This ZTS failure was one of the most frequently observed
by the CI. It needed to be resolved or disabled.

Description

As explained by the disclaimer in the test case,

"This test can fail since nothing guarantees that old
MOS blocks aren't overwritten."

This behavior is expected and correct, but results in a
flaky test case which is problematic for the CI. The best
we can do to resolve this is to retry the sub-test which
failed when the MOS blocks have clearly been overwriten.

When testing failures were rare enough that a single retry
should normally be sufficient. However, we allow up to
five for good measure.

How Has This Been Tested?

Locally verified that only the known failure scenarios were
observed, and when they occurred only a single retry was
required under normal circumstances.

$ ./scripts/zfs-tests.sh -t tests/functional/cli_root/zpool_import/import_rewind_config_changed.ksh -I 10
Test: functional/cli_root/zpool_import/setup (run as root) [00:00] [PASS]
Test: functional/cli_root/zpool_import/import_rewind_config_changed.ksh (run as root) [01:26] [PASS]
Test: functional/cli_root/zpool_import/cleanup (run as root) [00:00] [PASS]
Test: functional/cli_root/zpool_import/setup (run as root) [00:00] [PASS]
Test: functional/cli_root/zpool_import/import_rewind_config_changed.ksh (run as root) [01:32] [PASS]
Test: functional/cli_root/zpool_import/cleanup (run as root) [00:00] [PASS]
Test: functional/cli_root/zpool_import/setup (run as root) [00:00] [PASS]
Test: functional/cli_root/zpool_import/import_rewind_config_changed.ksh (run as root) [01:32] [PASS]
Test: functional/cli_root/zpool_import/cleanup (run as root) [00:00] [PASS]
Test: functional/cli_root/zpool_import/setup (run as root) [00:00] [PASS]
Test: functional/cli_root/zpool_import/import_rewind_config_changed.ksh (run as root) [01:26] [PASS]
Test: functional/cli_root/zpool_import/cleanup (run as root) [00:00] [PASS]
Test: functional/cli_root/zpool_import/setup (run as root) [00:00] [PASS]
Test: functional/cli_root/zpool_import/import_rewind_config_changed.ksh (run as root) [01:26] [PASS]
Test: functional/cli_root/zpool_import/cleanup (run as root) [00:00] [PASS]
Test: functional/cli_root/zpool_import/setup (run as root) [00:00] [PASS]
Test: functional/cli_root/zpool_import/import_rewind_config_changed.ksh (run as root) [01:26] [PASS]
Test: functional/cli_root/zpool_import/cleanup (run as root) [00:00] [PASS]
Test: functional/cli_root/zpool_import/setup (run as root) [00:00] [PASS]
Test: functional/cli_root/zpool_import/import_rewind_config_changed.ksh (run as root) [01:25] [PASS]
Test: functional/cli_root/zpool_import/cleanup (run as root) [00:00] [PASS]
Test: functional/cli_root/zpool_import/setup (run as root) [00:00] [PASS]
Test: functional/cli_root/zpool_import/import_rewind_config_changed.ksh (run as root) [01:37] [PASS]
Test: functional/cli_root/zpool_import/cleanup (run as root) [00:00] [PASS]
Test: functional/cli_root/zpool_import/setup (run as root) [00:00] [PASS]
Test: functional/cli_root/zpool_import/import_rewind_config_changed.ksh (run as root) [01:26] [PASS]
Test: functional/cli_root/zpool_import/cleanup (run as root) [00:00] [PASS]
Test: functional/cli_root/zpool_import/setup (run as root) [00:00] [PASS]
Test: functional/cli_root/zpool_import/import_rewind_config_changed.ksh (run as root) [01:26] [PASS]
Test: functional/cli_root/zpool_import/cleanup (run as root) [00:00] [PASS]

Results Summary
PASS      30

Running Time:   00:15:00
Percent passed: 100.0%
Log directory:  /var/tmp/test_results/20220218T153331

Tests with results other than PASS that are expected:

Tests with result of PASS that are unexpected:

Tests with results other than PASS that are unexpected:


$ grep Retry /var/tmp/test_results/current/log
15:35:11.67 NOTE: Retry 1 / 5 for test_add_vdevs()
15:37:34.98 NOTE: Retry 1 / 5 for test_attach_vdev()
15:44:57.94 NOTE: Retry 1 / 5 for test_attach_vdev()
15:45:03.62 NOTE: Retry 2 / 5 for test_attach_vdev()

Types of changes

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Performance enhancement (non-breaking change which improves efficiency)
  • Code cleanup (non-breaking change which makes code smaller or more readable)
  • Breaking change (fix or feature that would cause existing functionality to change)
  • Library ABI change (libzfs, libzfs_core, libnvpair, libuutil and libzfsbootenv)
  • Documentation (a change to man pages or other documentation)

Checklist:

As explained by the disclaimer in the test case,

    "This test can fail since nothing guarantees that old
    MOS blocks aren't overwritten."

This behavior is expected and correct, but results in a
flaky test case which is problematic for the CI.  The best
we can do to resolve this is to retry the sub-test which
failed when the MOS blocks have clearly been overwriten.

When testing failures were rare enough that a single retry
should normally be sufficient.  However, we allow up to
five for good measure.

Signed-off-by: Brian Behlendorf <[email protected]>
@behlendorf behlendorf added Component: Test Suite Indicates an issue with the test framework or a test case Status: Code Review Needed Ready for review and testing labels Feb 18, 2022
@behlendorf behlendorf requested a review from jwk404 February 18, 2022 23:49
@behlendorf behlendorf added Status: Accepted Ready to integrate (reviewed, tested) and removed Status: Code Review Needed Ready for review and testing labels Feb 21, 2022
@behlendorf behlendorf merged commit a5b3fab into openzfs:master Feb 21, 2022
tonyhutter pushed a commit to tonyhutter/zfs that referenced this pull request Mar 2, 2022
As explained by the disclaimer in the test case,

    "This test can fail since nothing guarantees that old
    MOS blocks aren't overwritten."

This behavior is expected and correct, but results in a
flaky test case which is problematic for the CI.  The best
we can do to resolve this is to retry the sub-test which
failed when the MOS blocks have clearly been overwritten.

When testing failures were rare enough that a single retry
should normally be sufficient.  However, we allow up to
five for good measure.

Reviewed by: George Melikov <[email protected]>
Signed-off-by: Brian Behlendorf <[email protected]>
Closes openzfs#13119
nicman23 pushed a commit to nicman23/zfs that referenced this pull request Aug 22, 2022
As explained by the disclaimer in the test case,

    "This test can fail since nothing guarantees that old
    MOS blocks aren't overwritten."

This behavior is expected and correct, but results in a
flaky test case which is problematic for the CI.  The best
we can do to resolve this is to retry the sub-test which
failed when the MOS blocks have clearly been overwritten.

When testing failures were rare enough that a single retry
should normally be sufficient.  However, we allow up to
five for good measure.

Reviewed by: George Melikov <[email protected]>
Signed-off-by: Brian Behlendorf <[email protected]>
Closes openzfs#13119
nicman23 pushed a commit to nicman23/zfs that referenced this pull request Aug 22, 2022
As explained by the disclaimer in the test case,

    "This test can fail since nothing guarantees that old
    MOS blocks aren't overwritten."

This behavior is expected and correct, but results in a
flaky test case which is problematic for the CI.  The best
we can do to resolve this is to retry the sub-test which
failed when the MOS blocks have clearly been overwritten.

When testing failures were rare enough that a single retry
should normally be sufficient.  However, we allow up to
five for good measure.

Reviewed by: George Melikov <[email protected]>
Signed-off-by: Brian Behlendorf <[email protected]>
Closes openzfs#13119
andrewc12 pushed a commit to andrewc12/openzfs that referenced this pull request Aug 30, 2022
As explained by the disclaimer in the test case,

    "This test can fail since nothing guarantees that old
    MOS blocks aren't overwritten."

This behavior is expected and correct, but results in a
flaky test case which is problematic for the CI.  The best
we can do to resolve this is to retry the sub-test which
failed when the MOS blocks have clearly been overwritten.

When testing failures were rare enough that a single retry
should normally be sufficient.  However, we allow up to
five for good measure.

Reviewed by: George Melikov <[email protected]>
Signed-off-by: Brian Behlendorf <[email protected]>
Closes openzfs#13119
lundman pushed a commit to openzfsonwindows/openzfs that referenced this pull request Sep 1, 2022
As explained by the disclaimer in the test case,

    "This test can fail since nothing guarantees that old
    MOS blocks aren't overwritten."

This behavior is expected and correct, but results in a
flaky test case which is problematic for the CI.  The best
we can do to resolve this is to retry the sub-test which
failed when the MOS blocks have clearly been overwritten.

When testing failures were rare enough that a single retry
should normally be sufficient.  However, we allow up to
five for good measure.

Reviewed by: George Melikov <[email protected]>
Signed-off-by: Brian Behlendorf <[email protected]>
Closes openzfs#13119
andrewc12 pushed a commit to andrewc12/openzfs that referenced this pull request Sep 23, 2022
As explained by the disclaimer in the test case,

    "This test can fail since nothing guarantees that old
    MOS blocks aren't overwritten."

This behavior is expected and correct, but results in a
flaky test case which is problematic for the CI.  The best
we can do to resolve this is to retry the sub-test which
failed when the MOS blocks have clearly been overwritten.

When testing failures were rare enough that a single retry
should normally be sufficient.  However, we allow up to
five for good measure.

Reviewed by: George Melikov <[email protected]>
Signed-off-by: Brian Behlendorf <[email protected]>
Closes openzfs#13119
andrewc12 pushed a commit to andrewc12/openzfs that referenced this pull request Sep 23, 2022
As explained by the disclaimer in the test case,

    "This test can fail since nothing guarantees that old
    MOS blocks aren't overwritten."

This behavior is expected and correct, but results in a
flaky test case which is problematic for the CI.  The best
we can do to resolve this is to retry the sub-test which
failed when the MOS blocks have clearly been overwritten.

When testing failures were rare enough that a single retry
should normally be sufficient.  However, we allow up to
five for good measure.

Reviewed by: George Melikov <[email protected]>
Signed-off-by: Brian Behlendorf <[email protected]>
Closes openzfs#13119
andrewc12 pushed a commit to andrewc12/openzfs that referenced this pull request Sep 23, 2022
As explained by the disclaimer in the test case,

    "This test can fail since nothing guarantees that old
    MOS blocks aren't overwritten."

This behavior is expected and correct, but results in a
flaky test case which is problematic for the CI.  The best
we can do to resolve this is to retry the sub-test which
failed when the MOS blocks have clearly been overwritten.

When testing failures were rare enough that a single retry
should normally be sufficient.  However, we allow up to
five for good measure.

Reviewed by: George Melikov <[email protected]>
Signed-off-by: Brian Behlendorf <[email protected]>
Closes openzfs#13119
andrewc12 pushed a commit to andrewc12/openzfs that referenced this pull request Sep 23, 2022
As explained by the disclaimer in the test case,

    "This test can fail since nothing guarantees that old
    MOS blocks aren't overwritten."

This behavior is expected and correct, but results in a
flaky test case which is problematic for the CI.  The best
we can do to resolve this is to retry the sub-test which
failed when the MOS blocks have clearly been overwritten.

When testing failures were rare enough that a single retry
should normally be sufficient.  However, we allow up to
five for good measure.

Reviewed by: George Melikov <[email protected]>
Signed-off-by: Brian Behlendorf <[email protected]>
Closes openzfs#13119
andrewc12 pushed a commit to andrewc12/openzfs that referenced this pull request Sep 23, 2022
As explained by the disclaimer in the test case,

    "This test can fail since nothing guarantees that old
    MOS blocks aren't overwritten."

This behavior is expected and correct, but results in a
flaky test case which is problematic for the CI.  The best
we can do to resolve this is to retry the sub-test which
failed when the MOS blocks have clearly been overwritten.

When testing failures were rare enough that a single retry
should normally be sufficient.  However, we allow up to
five for good measure.

Reviewed by: George Melikov <[email protected]>
Signed-off-by: Brian Behlendorf <[email protected]>
Closes openzfs#13119
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Component: Test Suite Indicates an issue with the test framework or a test case Status: Accepted Ready to integrate (reviewed, tested)
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants