VLDB2020
IsoDiff: Debugging Anomalies Caused by Weak Isolation
Yifan Gan, Xueyuan Ren, Drew Ripberger, Spyros Blanas, Yang Wang
Abstract
Weak isolation levels, such as Read Committed and Snapshot Isolation, are widely used by databases for their higher concurrency, but may introduce subtle correctness errors in applications that only experts can identify. This paper proposes IsoDi , a tool to help a developer debug the anomalies caused by weak isolation for an application. To address the challenge that the number of anomalies can be non-polynomial with respect to the number of types of transactions, IsoDi finds a representative subset of anomalies involving di erent transactions, operations, and problematic patterns. To reduce false positives, IsoDi proposes two novel methods (correlation detection and timing relationship check) to eliminate as many false positives as possible and further provides a mechanism to incorporate the developer's feedback to eliminate the remaining ones. The evaluation of IsoDi on TPC-C and seven real applications under Snapshot Isolation and Read Committed isolation shows that IsoDi can balance computation time and the coverage of anomalies; it can automatically eliminate a significant portion of false positives; and its feedback mechanism allows a developer to express the root cause of false positives, which can eliminate many false positives with only a small number of developer hints.