Homestyx hydra
Diffusion hydra c30cb7669e37

Simplify transaction handling and restore read/write locks

Description

Simplify transaction handling and restore read/write locks

Summary:

  • We used to have connection-level caching, so we needed getTransactionKey() to make sure there was one transaction state per real connection. We now cache in Lisk and each Connection object is guaranteed to represent a real, unique connection, so we can make this a non-static.
  • I kept the classes separate because it was a little easier, but maybe we should merge them?
  • Also track/implement read/write locking.
  • (The advantage of this over just writing LOCK IN SHARE MODE is that you can use, e.g., some Query class even if you don't have access to the queries it runs.)

Test Plan: Can you come up with a way to write unit tests for this? It seems like testing that it works requires deadlocking MySQL if the test is running in one process.

Reviewers: vrana, btrahan

Reviewed By: vrana

CC: aran

Differential Revision: https://secure.phabricator.com/D2398

Details

Provenance
epriestleyAuthored on May 5 2012, 2:29 PM
sirocylPushed on Oct 16 2024, 5:49 AM
Parents
R1:9f9716f81fce: Fix Firefox upload fatal
Branches
Unknown
Tags
Unknown

Event Timeline