Skip to content

Issue8: 功能添加-隔离级别相关的异常检测 #74

@AxingguChen

Description

@AxingguChen

隔离级别是dbms为了平衡隔离性和事务的并发效率而制定的SQL标准。主流DBMS的隔离级别,由低到高包括读未提交,读已提交,可重复读和可串行执行。低的隔离级别,不同事务会互相干扰,而高的隔离级别,每个事务都近似于单独在执行,没有其他事务并发执行。现在3TS-coo的测试样例动态生成(位于3TS/src/dbtest/src/mda_generate.py)对于所有隔离级别都生成一样的测试样例。然而同样的测试样例,在不同的隔离级别下,可能结果不同。例如在可重复读隔离级别下的异常测试样例,在读已提交隔离级别下可能是正常行为(为了保证事务的并发效率,该隔离级别允许出现这种“异常”)。

对于不同隔离级别,判断测试样例是否异常的标准也会有所不同。例如,假设某个测试样例在读可提交和可重复读隔离级别下,都出现了幻读现象,则该测试样例在读可提交隔离级别下不应该被检测为异常,但在可重复读隔离级别下应被认为是异常。

现在,3TSCOO检测的是当前测试样例的结果,是否违反了一致性(例如,两个事务A和B并发执行的结果,是否等于先执行A再执行B或先执行B再执行A)。我们希望能够对不同隔离级别,提出不同的检验方法,能够检测出违反隔离级别定义的异常,而非仅仅是违背了事务的一致性。

希望得到:针对不同隔离级别,验证是否异常的新功能。

开发方式:fork分支coo-consistency-check代码到自己的仓库,clone后在新分支上进行开发,然后提交pr合入仓库。相关代码位于(3TS/src/dbtest/src/mda_detect.py)

本issue为2025犀牛鸟开源人才培养活动专属issue,仅供参与犀牛鸟的在校大学生及开发者参与领取,认领前请先报名2025犀牛鸟开源人才培养计划(https://opensource.tencent.com/summer-of-code)。
【认领issue】在issue所在repo页面留言“已成功领取本issue”→微信私信犀牛鸟小助手(活动群-黄贵龙):issue链接+认领截图→犀牛鸟小助手回复“已成功领取本issue”,即可开始做issue任务。
【完成issue】已完成issue的同学,请同步犀牛鸟小助手(私信活动群-黄贵龙回复“已完成本issue任务+代码合入截图等证明”)。
注意:如7天内无提交任何进展包括不限于comment \ commit \ Pull Request,则将视为同学主动放弃issue,组委会将释放issue给下一位等候者。

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions