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

ci: make presto hive tests to cover only chartData and sqljson #17782

Merged
merged 6 commits into from
Dec 31, 2021

Conversation

amitmiran137
Copy link
Member

@amitmiran137 amitmiran137 commented Dec 16, 2021

SUMMARY

there have been a few attempts already to avoid the flakiness of the presto hive tests
in addition, we know that the original intention of that workflow was to test out the engine part of presto and hive
therefore we can just limit the tests the chart/data and sql_json API's which are executing the data querying part of superset

#17772
resolves #17750

BEFORE/AFTER SCREENSHOTS OR ANIMATED GIF

TESTING INSTRUCTIONS

ADDITIONAL INFORMATION

  • Has associated issue:
  • Required feature flags:
  • Changes UI
  • Includes DB Migration (follow approval process in SIP-59)
    • Migration is atomic, supports rollback & is backwards-compatible
    • Confirm DB migration upgrade and downgrade tested
    • Runtime estimates and downtime expectations provided
  • Introduces new feature or API
  • Removes existing feature or API

@codecov
Copy link

codecov bot commented Dec 16, 2021

Codecov Report

Merging #17782 (8c3c65d) into master (886e4ef) will increase coverage by 0.34%.
The diff coverage is n/a.

Impacted file tree graph

@@            Coverage Diff             @@
##           master   #17782      +/-   ##
==========================================
+ Coverage   66.73%   67.08%   +0.34%     
==========================================
  Files        1609     1609              
  Lines       64897    64897              
  Branches     6866     6866              
==========================================
+ Hits        43306    43533     +227     
+ Misses      19725    19498     -227     
  Partials     1866     1866              
Flag Coverage Δ
hive 53.29% <ø> (?)
javascript 53.77% <ø> (ø)
mysql 82.19% <ø> (?)
postgres 82.24% <ø> (?)
presto 53.13% <ø> (?)
python 82.68% <ø> (+0.76%) ⬆️
sqlite 81.92% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files Coverage Δ
superset/utils/core.py 89.76% <0.00%> (+0.11%) ⬆️
superset/reports/commands/execute.py 91.28% <0.00%> (+0.37%) ⬆️
superset/views/base_api.py 98.31% <0.00%> (+0.42%) ⬆️
superset/views/core.py 77.81% <0.00%> (+0.44%) ⬆️
superset/jinja_context.py 89.84% <0.00%> (+0.50%) ⬆️
superset/common/query_object.py 95.62% <0.00%> (+0.54%) ⬆️
superset/db_engine_specs/base.py 88.67% <0.00%> (+0.76%) ⬆️
superset/sql_lab.py 81.64% <0.00%> (+1.17%) ⬆️
superset/views/database/views.py 88.46% <0.00%> (+1.28%) ⬆️
superset/connectors/sqla/models.py 88.31% <0.00%> (+1.57%) ⬆️
... and 18 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 886e4ef...8c3c65d. Read the comment docs.

@amitmiran137
Copy link
Member Author

Presto/Hive tests are running only 2 suites of tests now chartData nd sql_lab.
for some reason a single test is failing, can @apache/superset-committers

@amitmiran137 amitmiran137 changed the title chore: make presto hive tests to cover only chartData and sqljson ci: make presto hive tests to cover only chartData and sqljson Dec 16, 2021
@etr2460
Copy link
Member

etr2460 commented Dec 16, 2021

are there database creation/api tests we should include here too?

@amitmiran137
Copy link
Member Author

are there database creation/api tests we should include here too?

Can you explain a bit why you think it is related?

@etr2460
Copy link
Member

etr2460 commented Dec 20, 2021

I wanted to make sure that any tests that might hit the presto/hive connectors get run here. For example, a test that adds custom configuration options to a database (and passes them on to the db engine). some examples of the configs:
image

there's also the db impersonation that i believe is unique on a db engine level. Ideally we would be testing all these config options on every db engine, but for now hive and presto is a start

@amitmiran137
Copy link
Member Author

@etr2460 can you point the relevant tests that you want to be covered here?
we can easily mark them on the same technique
you can even at the marks yourself and commit to this branch, but lets address this painpoint as soon as possible

@amitmiran137 amitmiran137 force-pushed the chore/presto_hive_test_query_only branch from f4ac502 to 883aff6 Compare December 29, 2021 16:06
Copy link
Member

@etr2460 etr2460 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 know the specific ones (not super familiar with the backend) so i'll stamp to unblock here. @bkyryliuk @villebro and @john-bodley would probably be the ones who know most about the backend to tag other tests. but this seems like a decent step (and could allow us to make these tests required for PRs too)

@amitmiran137
Copy link
Member Author

Hive and presto bottle tests bottle neck shrink to 6-7 minutes ✌️

@amitmiran137 amitmiran137 merged commit 4954d52 into master Dec 31, 2021
@bkyryliuk
Copy link
Member

i don't know the specific ones (not super familiar with the backend) so i'll stamp to unblock here. @bkyryliuk @villebro and @john-bodley would probably be the ones who know most about the backend to tag other tests. but this seems like a decent step (and could allow us to make these tests required for PRs too)

just noticed the comment, I think we can enable presto / hive tests later on for the cases that are critical or if we will notice breakages.

shcoderAlex pushed a commit to casual-precision/superset that referenced this pull request Feb 7, 2022
…e#17782)

* chore: make presto hive tests to cover only chartData and sqljson

* fix: single quote

* fix: add eval for arguments

* fix: add double quotes on args

* chore: add @pytest.mark.sql_json_flow

* fix: pre-commit
bwang221 pushed a commit to casual-precision/superset that referenced this pull request Feb 10, 2022
…e#17782)

* chore: make presto hive tests to cover only chartData and sqljson

* fix: single quote

* fix: add eval for arguments

* fix: add double quotes on args

* chore: add @pytest.mark.sql_json_flow

* fix: pre-commit
@mistercrunch mistercrunch added 🏷️ bot A label used by `supersetbot` to keep track of which PR where auto-tagged with release labels 🚢 1.5.0 labels Mar 13, 2024
@mistercrunch mistercrunch deleted the chore/presto_hive_test_query_only branch March 26, 2024 16:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
🏷️ bot A label used by `supersetbot` to keep track of which PR where auto-tagged with release labels size/XS 🚢 1.5.0
Projects
None yet
Development

Successfully merging this pull request may close these issues.

CI is extremely flaky when running Presto/Hive tests
4 participants