Skip to content

mv mutex cleanup

Matthew Von-Maszewski edited this page May 5, 2014 · 10 revisions

Status

  • merged to master
  • code complete May 4, 2014
  • development started April 30, 2014

History / Context

Each database / vnode in leveldb contains a mutex that protects the table file (.sst) management structures. Alll user activity must briefly acquire the mutex before a Read, Write, or Iterator operation. The background compactions must also briefly acquire the mutex before and after a compaction. This branch addresses two scenarios where a background compaction might hold the mutex for an extended time during heavy disk activities. Holding the mutex during compaction blocks user operations impacting throughput and latency.

Branch description

Clone this wiki locally