Issue8: 功能添加-隔离级别相关的异常检测
隔离级别是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给下一位等候者。