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

feat: support bug detection related to isolation level #57

Open
wants to merge 5 commits into
base: coo-consistency-check
Choose a base branch
from

Conversation

Tang-Kin-Long
Copy link

@Tang-Kin-Long Tang-Kin-Long commented Jul 19, 2024

feat: support bug detection related to isolation level

resolve the issue: bug detection related to isolation level

Modify parts of code in Coo consistency check to realize the error detection result output of related isolation level.

Reference the test data as well.

Sample Output:
--------file:rr_s_s_avoid--------
Transaction 1:-----repeatable-read-----
Error Detection: No error in this isolation level.
Transaction 2:-----serializable-----
Edge(begin_time=4, type=ICR, out=3)
Error Detection: Phantom-Read
Transaction 3:-----serializable-----
Error Detection: No error in this isolation level.
---------------------------------#

@tencent-adm
Copy link
Member

tencent-adm commented Jul 19, 2024

CLA assistant check
All committers have signed the CLA.

@hldgs
Copy link

hldgs commented Jul 22, 2024

Hello, I am one of the code reviewers. Can you translate your pr title, description, commit messages to English? And we recommend using this format to title your PR.

@Tang-Kin-Long Tang-Kin-Long changed the title 隔离级别相关的异常检测 Error Detection related to Isolation Level Jul 23, 2024
@hldgs
Copy link

hldgs commented Jul 23, 2024

you can use "feat: support bug detection related to isolation level", and please add the issues you resolved in description.

@Tang-Kin-Long Tang-Kin-Long changed the title Error Detection related to Isolation Level feat: support bug detection related to isolation level Jul 23, 2024
@Tang-Kin-Long
Copy link
Author

you can use "feat: support bug detection related to isolation level", and please add the issues you resolved in description.

Okay!

Copy link

@hldgs hldgs left a comment

Choose a reason for hiding this comment

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

if any questions, reply me directly

style: Update contents in docstring to maintain function description of mda_detect.py.
@Tang-Kin-Long
Copy link
Author

if any questions, reply me directly

I have made the expected modification, please check, thank you.

@hldgs
Copy link

hldgs commented Jul 29, 2024

do you test your commit on all dbmss?

@Tang-Kin-Long
Copy link
Author

do you test your commit on all dbmss?

No, I haven't installed Docker and configured the test environment. I am trying to do that.

This program adds a determination function to detect test cases in MySQL environment. For now, only "serializable" isolation level is supported. Other isolation levels and dbms environments will be added later.
The output result passes almost all test cases, except "iat_dda_write_skew_predicate_based-overdraft_protection", because its variable declaration is quite different.
This program adds a determination function to detect test cases in MySQL environment. For now, "repeatable-read" and "serializable" isolation levels are supported. Other isolation levels and dbms environments will be added later.
The output result passes almost all test cases, except "rat_mda_step_rat_predicate_based_insert", because it uses "sum" function so an improved syntax analysis is required.
This program adds two determination functions to detect test cases in MySQL environment. For now, ALL isolation levels in MySQL are supported. Other dbms environments will be added if needed.

The output result passes almost all test cases, except: 
SERIALIZABLE: "iat_dda_write_skew_predicate_based-overdraft_protection";
REPEATABLE-READ: "rat_mda_step_rat_predicate_based_insert";
READ-COMMITTED: None;
READ-UNCOMMITTED: "iat_dda_write_skew_predicate_based-intersecting_data";

These cases use irregular expression like "sum" function, self-defined table name or attribute query, so the more complex syntax analysis is required.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants