Debugging Transactions and Tracking their Provenance with Reenactment

07/31/2017
by   Xing Niu, et al.
0

Debugging transactions and understanding their execution are of immense importance for developing OLAP applications, to trace causes of errors in production systems, and to audit the operations of a database. However, debugging transactions is hard for several reasons: 1) after the execution of a transaction, its input is no longer available for debugging, 2) internal states of a transaction are typically not accessible, and 3) the execution of a transaction may be affected by concurrently running transactions. We present a debugger for transactions that enables non-invasive, post-mortem debugging of transactions with provenance tracking and supports what-if scenarios (changes to transaction code or data). Using reenactment, a declarative replay technique we have developed, a transaction is replayed over the state of the DB seen by its original execution including all its interactions with concurrently executed transactions from the history. Importantly, our approach uses the temporal database and audit logging capabilities available in many DBMS and does not require any modifications to the underlying database system nor transactional workload.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
06/26/2019

XOX Fabric: A hybrid approach to transaction execution

Performance and scalability are a major concern for blockchain systems t...
research
11/29/2018

Chiller: Contention-centric Transaction Execution and Data Partitioning for Fast Networks

Distributed transactions on high-overhead TCP/IP-based networks were con...
research
12/29/2022

Transactions Make Debugging Easy

We propose TROD, a novel transaction-oriented framework for debugging mo...
research
05/15/2014

Transaction Logic with (Complex) Events

This work deals with the problem of combining reactive features, such as...
research
09/29/2020

Tracking Mixed Bitcoins

Mixer services purportedly remove all connections between the input (dep...
research
03/09/2021

Repairing Serializability Bugs in Distributed Database Programs via Automated Schema Refactoring

Serializability is a well-understood concurrency control mechanism that ...

Please sign up or login with your details

Forgot password? Click here to reset