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

[Task]: Fix flaky server tests of MSSQL and Redis #36774

Closed
sneha122 opened this issue Oct 9, 2024 · 1 comment · Fixed by #36863 or #36866
Closed

[Task]: Fix flaky server tests of MSSQL and Redis #36774

sneha122 opened this issue Oct 9, 2024 · 1 comment · Fixed by #36863 or #36866
Assignees
Labels
Backend This marks the issue or pull request to reference server code Integrations Product Issues related to a specific integration MsSQL Issues related to MsSQL plugin Query & JS Pod Issues related to the query & JS Pod Redis Issues related to Redis Task A simple Todo

Comments

@sneha122
Copy link
Contributor

sneha122 commented Oct 9, 2024

SubTasks

MSSQL and Redis Junit test cases are being flaky because they tend to create docker containers in test setup process. This task to identify and solve the issue

For the time being, tests have been disabled in this PR

More info: https://www.notion.so/appsmith/20-09-Promotion-failures-107fe271b0e280099bfbdb9fdde4952d?d=916f2a64421b4f6fa9dd2128437bfc1e#ffffe271b0e281ab82e8f2c211d98be8

@sneha122 sneha122 added the Task A simple Todo label Oct 9, 2024
@sneha122 sneha122 self-assigned this Oct 9, 2024
@sneha122 sneha122 added MsSQL Issues related to MsSQL plugin Redis Issues related to Redis Backend This marks the issue or pull request to reference server code Integrations Product Issues related to a specific integration labels Oct 9, 2024
@github-actions github-actions bot added the Query & JS Pod Issues related to the query & JS Pod label Oct 9, 2024
@sneha122
Copy link
Contributor Author

Moving it back in order to setup laptop

sneha122 added a commit that referenced this issue Oct 17, 2024
## Description
This PR fixes the flaky mssql Junit test case by replacing the test
containers docker image to mssql server 2022 latest.

### Root cause of flakiness
MSSQL Junit test cases like `mssqlplugintest.java` and
`mssqlGetDBSchemaTest.java` recently started becoming flaky in the CI.
Sometimes they would pass, sometimes they would throw the error
`org.testcontainers.containers.ContainerLaunchException: Container
startup failed for image mcr.microsoft.com/azure-sql-edge:1.0.3`. This
was happening because MSSQL test cases create a docker container using
Azure SQL Edge 1.0.3 image. Upon further researching found two relevant
links as to why it has stopped working:
1.
https://forums.docker.com/t/sql-server-docker-container-fails-on-start-up-when-run-in-a-vm-with-ubuntu-24-04/142093
2. docker/for-mac#7368

Although second link seems to be specific for Mac where as we use Ubuntu
when running tests in CI, this
[comment](docker/for-mac#7368 (comment))
and docker forum link above states that problem is there for Ubuntu as
well. Two possible workaround suggested in above threads were:
1. Downgrade docker desktop to 4.32 
2. Instead of Azure SQL Edge use MSSQL server 2022 latest image

This PR uses the second workaround and updates docker container image
from Azure SQL Edge 1.0.3 to MSSQL server 2022 latest image.

I have triggered the server-unit-tests workflow 12 times and all times
it passed, showing no flakiness, hence we should be good to go ahead
with the fix.

Equivalent EE PR: appsmithorg/appsmith-ee#5366

Fixes #36774 
_or_  
Fixes `Issue URL`
> [!WARNING]  
> _If no issue exists, please create an issue first, and check with the
maintainers if the issue is valid._

## Automation

/ok-to-test tags="@tag.Sanity"

### 🔍 Cypress test results
<!-- This is an auto-generated comment: Cypress test results  -->
> [!TIP]
> 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/11380762425>
> Commit: 4f95888
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=11380762425&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Sanity`
> Spec:
> <hr>Thu, 17 Oct 2024 08:33:37 UTC
<!-- end of auto-generated comment: Cypress test results  -->


## Communication
Should the DevRel and Marketing teams inform users about this change?
- [ ] Yes
- [x] No

---------

Co-authored-by: “sneha122” <“sneha@appsmith.com”>
github-actions bot pushed a commit to Zeral-Zhang/appsmith that referenced this issue Oct 17, 2024
## Description
This PR enables back the RedisPluginTest Junit test case. It was
disabled earlier as it was failing in build promotion. I have ran the
test case multiple times on local and it did not fail at all, hence
enabling it back. Will run it couple of times in CI too.


Fixes appsmithorg#36774  
_or_  
Fixes `Issue URL`
> [!WARNING]  
> _If no issue exists, please create an issue first, and check with the
maintainers if the issue is valid._

## Automation

/ok-to-test tags="@tag.Sanity"

### 🔍 Cypress test results
<!-- This is an auto-generated comment: Cypress test results  -->
> [!TIP]
> 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/11348382724>
> Commit: 91dce61
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=11348382724&attempt=2"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Sanity`
> Spec:
> <hr>Tue, 15 Oct 2024 15:38:37 UTC
<!-- end of auto-generated comment: Cypress test results  -->


## Communication
Should the DevRel and Marketing teams inform users about this change?
- [ ] Yes
- [x] No


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

- **Bug Fixes**
- Enabled the `RedisPluginTest` class for execution, allowing all test
methods to run and validate the Redis plugin's behavior.

- **Tests**
- No changes to the logic or structure of existing tests; focus remains
on validating datasource configurations and command execution.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->

Co-authored-by: “sneha122” <“sneha@appsmith.com”>
github-actions bot pushed a commit to Zeral-Zhang/appsmith that referenced this issue Nov 20, 2024
## Description
This PR fixes the flaky mssql Junit test case by replacing the test
containers docker image to mssql server 2022 latest.

### Root cause of flakiness
MSSQL Junit test cases like `mssqlplugintest.java` and
`mssqlGetDBSchemaTest.java` recently started becoming flaky in the CI.
Sometimes they would pass, sometimes they would throw the error
`org.testcontainers.containers.ContainerLaunchException: Container
startup failed for image mcr.microsoft.com/azure-sql-edge:1.0.3`. This
was happening because MSSQL test cases create a docker container using
Azure SQL Edge 1.0.3 image. Upon further researching found two relevant
links as to why it has stopped working:
1.
https://forums.docker.com/t/sql-server-docker-container-fails-on-start-up-when-run-in-a-vm-with-ubuntu-24-04/142093
2. docker/for-mac#7368

Although second link seems to be specific for Mac where as we use Ubuntu
when running tests in CI, this
[comment](docker/for-mac#7368 (comment))
and docker forum link above states that problem is there for Ubuntu as
well. Two possible workaround suggested in above threads were:
1. Downgrade docker desktop to 4.32 
2. Instead of Azure SQL Edge use MSSQL server 2022 latest image

This PR uses the second workaround and updates docker container image
from Azure SQL Edge 1.0.3 to MSSQL server 2022 latest image.

I have triggered the server-unit-tests workflow 12 times and all times
it passed, showing no flakiness, hence we should be good to go ahead
with the fix.

Equivalent EE PR: appsmithorg/appsmith-ee#5366

Fixes appsmithorg#36774 
_or_  
Fixes `Issue URL`
> [!WARNING]  
> _If no issue exists, please create an issue first, and check with the
maintainers if the issue is valid._

## Automation

/ok-to-test tags="@tag.Sanity"

### 🔍 Cypress test results
<!-- This is an auto-generated comment: Cypress test results  -->
> [!TIP]
> 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/11380762425>
> Commit: 4f95888
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=11380762425&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Sanity`
> Spec:
> <hr>Thu, 17 Oct 2024 08:33:37 UTC
<!-- end of auto-generated comment: Cypress test results  -->


## Communication
Should the DevRel and Marketing teams inform users about this change?
- [ ] Yes
- [x] No

---------

Co-authored-by: “sneha122” <“sneha@appsmith.com”>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Backend This marks the issue or pull request to reference server code Integrations Product Issues related to a specific integration MsSQL Issues related to MsSQL plugin Query & JS Pod Issues related to the query & JS Pod Redis Issues related to Redis Task A simple Todo
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant