Repository navigation
fix(amber): add temporary fixes for e2e tests in Amber - #3962
Conversation
|
@aglinxinyuan Can you review it first? |
|
@Yicong-Huang Do you want to take a look as well? |
|
Thanks for adding this temporary fix. Two comments:
|
@Yicong-Huang I updated the PR description to answer all the questions. Regarding the retry implementation, you are right. |
@Yicong-Huang if you agree with this new implementation we can merge the PR? |
Sounds good. Thanks for taking care of the comments! |
<!-- Thanks for sending a pull request (PR)! Here are some tips for you: 1. If this is your first time, please read our contributor guidelines: [Contributing to Texera](https://github.com/apache/texera/blob/main/CONTRIBUTING.md) 2. Ensure you have added or run the appropriate tests for your PR 3. If the PR is work in progress, mark it a draft on GitHub. 4. Please write your PR title to summarize what this PR proposes, we are following Conventional Commits style for PR titles as well. 5. Be sure to keep the PR description updated to reflect all changes. --> ### What changes were proposed in this PR? <!-- Please clarify what changes you are proposing. The purpose of this section is to outline the changes. Here are some tips for you: 1. If you propose a new API, clarify the use case for a new API. 2. If you fix a bug, you can clarify why it is a bug. 3. If it is a refactoring, clarify what has been changed. 3. It would be helpful to include a before-and-after comparison using screenshots or GIFs. 4. Please consider writing useful notes for better and faster reviews. --> This PR adds temporary fixes for the occasional CI failures related to e2e test cases in Amber by doing the following: - Add a timeout for `PauseSpec`. - Add a retry for test cases in `PauseSpec` and `DataProcessingSpec` in the case of failure. We use [Scalatest.retries](https://www.scalatest.org/scaladoc/3.0.9/org/scalatest/Retries.html), which retries a failed test once. If a test case succeeds after a retry, its outcome will be `Canceled` (this will still pass CIs). Please refer to apache#3880 for details about the current problems with these two e2e tests. ### Any related issues, documentation, discussions? <!-- Please use this section to link other resources if not mentioned already. 1. If this PR fixes an issue, please include `Fixes apache#1234`, `Resolves apache#1234` or `Closes apache#1234`. If it is only related, simply mention the issue number. 2. If there is design documentation, please add the link. 3. If there is a discussion in the mailing list, please add the link. --> Resolves apache#3948 . ### How was this PR tested? Manually tested locally by setting the timeouts to be very short. The retry works. When a test case fails at first but succeeds on retry, it will show "Test Canceled: Test canceled because flickered: initially failed, but succeeded on retry". ### Was this PR authored or co-authored using generative AI tooling? No.
<!-- Thanks for sending a pull request (PR)! Here are some tips for you: 1. If this is your first time, please read our contributor guidelines: [Contributing to Texera](https://github.com/apache/texera/blob/main/CONTRIBUTING.md) 2. Ensure you have added or run the appropriate tests for your PR 3. If the PR is work in progress, mark it a draft on GitHub. 4. Please write your PR title to summarize what this PR proposes, we are following Conventional Commits style for PR titles as well. 5. Be sure to keep the PR description updated to reflect all changes. --> ### What changes were proposed in this PR? <!-- Please clarify what changes you are proposing. The purpose of this section is to outline the changes. Here are some tips for you: 1. If you propose a new API, clarify the use case for a new API. 2. If you fix a bug, you can clarify why it is a bug. 3. If it is a refactoring, clarify what has been changed. 3. It would be helpful to include a before-and-after comparison using screenshots or GIFs. 4. Please consider writing useful notes for better and faster reviews. --> This PR adds temporary fixes for the occasional CI failures related to e2e test cases in Amber by doing the following: - Add a timeout for `PauseSpec`. - Add a retry for test cases in `PauseSpec` and `DataProcessingSpec` in the case of failure. We use [Scalatest.retries](https://www.scalatest.org/scaladoc/3.0.9/org/scalatest/Retries.html), which retries a failed test once. If a test case succeeds after a retry, its outcome will be `Canceled` (this will still pass CIs). Please refer to apache#3880 for details about the current problems with these two e2e tests. ### Any related issues, documentation, discussions? <!-- Please use this section to link other resources if not mentioned already. 1. If this PR fixes an issue, please include `Fixes apache#1234`, `Resolves apache#1234` or `Closes apache#1234`. If it is only related, simply mention the issue number. 2. If there is design documentation, please add the link. 3. If there is a discussion in the mailing list, please add the link. --> Resolves apache#3948 . ### How was this PR tested? Manually tested locally by setting the timeouts to be very short. The retry works. When a test case fails at first but succeeds on retry, it will show "Test Canceled: Test canceled because flickered: initially failed, but succeeded on retry". ### Was this PR authored or co-authored using generative AI tooling? No.
What changes were proposed in this PR?
This PR adds temporary fixes for the occasional CI failures related to e2e test cases in Amber by doing the following:
PauseSpec.PauseSpecandDataProcessingSpecin the case of failure. We use Scalatest.retries, which retries a failed test once. If a test case succeeds after a retry, its outcome will beCanceled(this will still pass CIs).Please refer to #3880 for details about the current problems with these two e2e tests.
Any related issues, documentation, discussions?
Resolves #3948 .
How was this PR tested?
Manually tested locally by setting the timeouts to be very short. The retry works. When a test case fails at first but succeeds on retry, it will show "Test Canceled: Test canceled because flickered: initially failed, but succeeded on retry".
Was this PR authored or co-authored using generative AI tooling?
No.