Transactions Make Debugging Easy

by   Qian Li, et al.

We propose TROD, a novel transaction-oriented framework for debugging modern distributed web applications and online services. Our critical insight is that if applications store all state in databases and only access state transactionally, TROD can use lightweight always-on tracing to track the history of application state changes and data provenance, and then leverage the captured traces and transaction logs to faithfully replay or even test modified code retroactively on any past event. We demonstrate how TROD can simplify programming and debugging in production applications, list several research challenges and directions, and encourage the database and systems communities to drastically rethink the synergy between the way people develop and debug applications.


page 1

page 2

page 3

page 4


Debugging Transactions and Tracking their Provenance with Reenactment

Debugging transactions and understanding their execution are of immense ...

DBLog: A Watermark Based Change-Data-Capture Framework

It is a commonly observed pattern for applications to utilize multiple h...

Highly Available Queue-oriented Speculative Transaction Processing

Deterministic database systems have received increasing attention from t...

Guaranteeing Recoverability via Partially Constrained Transaction Logs

Transaction logging is an essential constituent to guarantee the atomici...

SQL Access Patterns for Optimistic Concurrency Control

Transaction processing is of growing importance for mobile and web appli...

Capturing the Future by Replaying the Past

Delimited continuations are the mother of all monads! So goes the slogan...

Please sign up or login with your details

Forgot password? Click here to reset