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

Enhance executor join tests #5305

Merged
merged 14 commits into from
Jul 18, 2022
Merged

Enhance executor join tests #5305

merged 14 commits into from
Jul 18, 2022

Conversation

Willendless
Copy link
Contributor

@Willendless Willendless commented Jul 6, 2022

What problem does this PR solve?

Issue Number: close #5198

Problem Summary:

What is changed and how it works?

  • Extract join related tests to a separate file.

Add more tests for join executor.

  • simpleJoinTests: test single join kind
  • multiJoinTests: test combination of multiple join kinds
  • castJoin: test join on boundary value equality
    • currently, tiflash doesn't support type bit
  • subqueryJoin: test subquery join
    • [ ] todo: is it possible to write corelated subquery in current test framework? (Currently apply operator can not be pushed down to tiflash)
  • join with aggregation

note: our current test framework only supports left, right and inner join.

Added expression support:

  • count
  • min

Check List

Tests

  • Unit test
  • Integration test
  • Manual test (add detailed scripts or steps below)
  • No code

Side effects

  • Performance regression: Consumes more CPU
  • Performance regression: Consumes more Memory
  • Breaking backward compatibility

Documentation

  • Affects user behaviors
  • Contains syntax changes
  • Contains variable changes
  • Contains experimental features
  • Changes MySQL compatibility

Release note

None

@ti-chi-bot
Copy link
Member

ti-chi-bot commented Jul 6, 2022

[REVIEW NOTIFICATION]

This pull request has been approved by:

  • SeaRise
  • ywqzzy

To complete the pull request process, please ask the reviewers in the list to review by filling /cc @reviewer in the comment.
After your PR has acquired the required number of LGTMs, you can assign this pull request to the committer in the list by filling /assign @committer in the comment to help you merge this pull request.

The full list of commands accepted by this bot can be found here.

Reviewer can indicate their review by submitting an approval review.
Reviewer can cancel approval by submitting a request changes review.

@ti-chi-bot ti-chi-bot added release-note-none Denotes a PR that doesn't merit a release note. do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. size/XL Denotes a PR that changes 500-999 lines, ignoring generated files. labels Jul 6, 2022
@ti-chi-bot ti-chi-bot added size/XXL Denotes a PR that changes 1000+ lines, ignoring generated files. and removed size/XL Denotes a PR that changes 500-999 lines, ignoring generated files. labels Jul 6, 2022
@ywqzzy ywqzzy self-requested a review July 7, 2022 02:15
@ti-chi-bot ti-chi-bot added the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label Jul 10, 2022
@Willendless Willendless changed the title [WIP] enhance executor join tests Enhance executor join tests Jul 10, 2022
@ti-chi-bot ti-chi-bot removed the do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. label Jul 10, 2022
@SeaRise
Copy link
Contributor

SeaRise commented Jul 11, 2022

/run-unit-test

@sre-bot
Copy link
Collaborator

sre-bot commented Jul 11, 2022

Coverage for changed files

Filename                                Regions    Missed Regions     Cover   Functions  Missed Functions  Executed       Lines      Missed Lines     Cover    Branches   Missed Branches     Cover
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Flash/tests/gtest_executor.cpp               60                25    58.33%           2                 0   100.00%          32                 0   100.00%          16                 9    43.75%
Flash/tests/gtest_join_executor.cpp         383               269    29.77%          18                 0   100.00%         315                 0   100.00%          64                59     7.81%
TestUtils/mockExecutor.h                      6                 1    83.33%           6                 1    83.33%          15                 3    80.00%           0                 0         -
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
TOTAL                                       449               295    34.30%          26                 1    96.15%         362                 3    99.17%          80                68    15.00%

Coverage summary

Functions  MissedFunctions  Executed  Lines   MissedLines  Cover
18524      9404             49.23%    208920  94923        54.56%

full coverage report (for internal network access only)

@ti-chi-bot ti-chi-bot removed the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label Jul 11, 2022
@Willendless
Copy link
Contributor Author

/rebuild

1 similar comment
@Willendless
Copy link
Contributor Author

/rebuild

@Willendless
Copy link
Contributor Author

/run-all-tests

@sre-bot
Copy link
Collaborator

sre-bot commented Jul 12, 2022

Coverage for changed files

Filename                                Regions    Missed Regions     Cover   Functions  Missed Functions  Executed       Lines      Missed Lines     Cover    Branches   Missed Branches     Cover
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Flash/tests/gtest_executor.cpp               60                25    58.33%           2                 0   100.00%          32                 0   100.00%          16                 9    43.75%
Flash/tests/gtest_join_executor.cpp         383               269    29.77%          18                 0   100.00%         315                 0   100.00%          64                59     7.81%
TestUtils/mockExecutor.h                      6                 1    83.33%           6                 1    83.33%          15                 3    80.00%           0                 0         -
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
TOTAL                                       449               295    34.30%          26                 1    96.15%         362                 3    99.17%          80                68    15.00%

Coverage summary

Functions  MissedFunctions  Executed  Lines   MissedLines  Cover
18524      9397             49.27%    208920  94924        54.56%

full coverage report (for internal network access only)

@Willendless
Copy link
Contributor Author

/run-integration-test

@xzhangxian1008
Copy link
Contributor

Looks good

@SeaRise SeaRise self-requested a review July 13, 2022 08:37
@Willendless Willendless changed the title Enhance executor join tests [DNM] Enhance executor join tests Jul 14, 2022
@Willendless Willendless changed the title [DNM] Enhance executor join tests [WIP] Enhance executor join tests Jul 14, 2022
@ti-chi-bot ti-chi-bot added the do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. label Jul 14, 2022
@Willendless
Copy link
Contributor Author

/run-all-tests

@Willendless Willendless changed the title [WIP] Enhance executor join tests Enhance executor join tests Jul 14, 2022
@ti-chi-bot ti-chi-bot removed the do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. label Jul 14, 2022
@sre-bot
Copy link
Collaborator

sre-bot commented Jul 14, 2022

Coverage for changed files

Filename                                Regions    Missed Regions     Cover   Functions  Missed Functions  Executed       Lines      Missed Lines     Cover    Branches   Missed Branches     Cover
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Flash/tests/gtest_executor.cpp               60                25    58.33%           2                 0   100.00%          32                 0   100.00%          16                 9    43.75%
Flash/tests/gtest_join_executor.cpp         383               269    29.77%          18                 0   100.00%         315                 0   100.00%          64                59     7.81%
TestUtils/mockExecutor.h                      6                 1    83.33%           6                 1    83.33%          15                 3    80.00%           0                 0         -
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
TOTAL                                       449               295    34.30%          26                 1    96.15%         362                 3    99.17%          80                68    15.00%

Coverage summary

Functions  MissedFunctions  Executed  Lines   MissedLines  Cover
18524      9397             49.27%    208920  94883        54.58%

full coverage report (for internal network access only)

@Willendless
Copy link
Contributor Author

/run-all-tests

@sre-bot
Copy link
Collaborator

sre-bot commented Jul 14, 2022

Coverage for changed files

Filename                                Regions    Missed Regions     Cover   Functions  Missed Functions  Executed       Lines      Missed Lines     Cover    Branches   Missed Branches     Cover
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Flash/tests/gtest_executor.cpp               60                25    58.33%           2                 0   100.00%          32                 0   100.00%          16                 9    43.75%
Flash/tests/gtest_join_executor.cpp         383               269    29.77%          18                 0   100.00%         315                 0   100.00%          64                59     7.81%
TestUtils/mockExecutor.h                      6                 1    83.33%           6                 1    83.33%          15                 3    80.00%           0                 0         -
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
TOTAL                                       449               295    34.30%          26                 1    96.15%         362                 3    99.17%          80                68    15.00%

Coverage summary

Functions  MissedFunctions  Executed  Lines   MissedLines  Cover
18524      9397             49.27%    208920  94917        54.57%

full coverage report (for internal network access only)

@Willendless
Copy link
Contributor Author

/run-all-tests

@Willendless
Copy link
Contributor Author

/rebuild

@sre-bot
Copy link
Collaborator

sre-bot commented Jul 15, 2022

Coverage for changed files

Filename                                Regions    Missed Regions     Cover   Functions  Missed Functions  Executed       Lines      Missed Lines     Cover    Branches   Missed Branches     Cover
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Flash/tests/gtest_executor.cpp               60                25    58.33%           2                 0   100.00%          32                 0   100.00%          16                 9    43.75%
Flash/tests/gtest_join_executor.cpp         383               269    29.77%          18                 0   100.00%         315                 0   100.00%          64                59     7.81%
TestUtils/mockExecutor.h                      6                 1    83.33%           6                 1    83.33%          15                 3    80.00%           0                 0         -
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
TOTAL                                       449               295    34.30%          26                 1    96.15%         362                 3    99.17%          80                68    15.00%

Coverage summary

Functions  MissedFunctions  Executed  Lines   MissedLines  Cover
18524      9397             49.27%    208920  94885        54.58%

full coverage report (for internal network access only)

Copy link
Contributor

@ywqzzy ywqzzy left a comment

Choose a reason for hiding this comment

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

LGTM

@ti-chi-bot ti-chi-bot added status/LGT2 Indicates that a PR has LGTM 2. and removed status/LGT1 Indicates that a PR has LGTM 1. labels Jul 15, 2022
@Willendless
Copy link
Contributor Author

/run-all-tests

@sre-bot
Copy link
Collaborator

sre-bot commented Jul 18, 2022

Coverage for changed files

Filename                                Regions    Missed Regions     Cover   Functions  Missed Functions  Executed       Lines      Missed Lines     Cover    Branches   Missed Branches     Cover
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Flash/tests/gtest_executor.cpp               60                25    58.33%           2                 0   100.00%          32                 0   100.00%          16                 9    43.75%
Flash/tests/gtest_join_executor.cpp         383               269    29.77%          18                 0   100.00%         315                 0   100.00%          64                59     7.81%
TestUtils/mockExecutor.h                      6                 1    83.33%           6                 1    83.33%          15                 3    80.00%           0                 0         -
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
TOTAL                                       449               295    34.30%          26                 1    96.15%         362                 3    99.17%          80                68    15.00%

Coverage summary

Functions  MissedFunctions  Executed  Lines   MissedLines  Cover
18611      9408             49.45%    211983  94949        55.21%

full coverage report (for internal network access only)

@zanmato1984
Copy link
Contributor

/merge

@ti-chi-bot
Copy link
Member

@zanmato1984: It seems you want to merge this PR, I will help you trigger all the tests:

/run-all-tests

You only need to trigger /merge once, and if the CI test fails, you just re-trigger the test that failed and the bot will merge the PR for you after the CI passes.

If you have any questions about the PR merge process, please refer to pr process.

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the ti-community-infra/tichi repository.

@ti-chi-bot
Copy link
Member

This pull request has been accepted and is ready to merge.

Commit hash: ce971be

@ti-chi-bot ti-chi-bot added the status/can-merge Indicates a PR has been approved by a committer. label Jul 18, 2022
@sre-bot
Copy link
Collaborator

sre-bot commented Jul 18, 2022

Coverage for changed files

Filename                                Regions    Missed Regions     Cover   Functions  Missed Functions  Executed       Lines      Missed Lines     Cover    Branches   Missed Branches     Cover
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Flash/tests/gtest_executor.cpp               60                25    58.33%           2                 0   100.00%          32                 0   100.00%          16                 9    43.75%
Flash/tests/gtest_join_executor.cpp         383               269    29.77%          18                 0   100.00%         315                 0   100.00%          64                59     7.81%
TestUtils/mockExecutor.h                      6                 1    83.33%           6                 1    83.33%          15                 3    80.00%           0                 0         -
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
TOTAL                                       449               295    34.30%          26                 1    96.15%         362                 3    99.17%          80                68    15.00%

Coverage summary

Functions  MissedFunctions  Executed  Lines   MissedLines  Cover
18617      9406             49.48%    212150  95004        55.22%

full coverage report (for internal network access only)

@ti-chi-bot ti-chi-bot merged commit 5d680c4 into pingcap:master Jul 18, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
release-note-none Denotes a PR that doesn't merit a release note. size/XXL Denotes a PR that changes 1000+ lines, ignoring generated files. status/can-merge Indicates a PR has been approved by a committer. status/LGT2 Indicates that a PR has LGTM 2.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Add executor tests for join operator
7 participants