Project

General

Profile

Actions

Feature #2620

closed

Keep supports I/O locking

Added by Tim Pierce about 10 years ago. Updated almost 10 years ago.

Status:
Resolved
Priority:
Normal
Assigned To:
Tim Pierce
Category:
-
Story points:
2.0

Description

Notes:
  • Lock is per-volume. It's the sysadmin's problem to ensure volumes don't share a spindle.
  • Lock is in-process (not flock). It's the sysadmin's problem to ensure keep servers don't share a volume.
  • Enable per-volume lock with -serialize flag.
  • Exempt from lock behavior: HEAD, index, and the process of discovering whether a block is present during a GET or PUT. In other words, we aren't strictly limiting IO to one client per spindle: we're assuming the OS has good enough cache behavior to support hordes of readdir operations alongside a big read/write without (statistically) causing thrash.

Subtasks 3 (0 open3 closed)

Task #2695: Review 2620-keep-serialize-ioResolvedTim Pierce04/01/2014Actions
Task #2629: I/O locking unit testsResolvedTim Pierce04/01/2014Actions
Task #2560: Serialize Keep I/OResolvedTim Pierce04/01/2014Actions
Actions #1

Updated by Ward Vandewege about 10 years ago

  • Assigned To set to Tim Pierce
Actions #2

Updated by Tim Pierce about 10 years ago

  • Tracker changed from Bug to Feature
  • Subject changed from Keep I/O locking to Keep supports I/O locking

An admin should be able to enable I/O locking: a per-spindle lock that prevents Keep from reading or writing to more than one file at a time. I/O operations on different spindles may still be executed concurrently.

Actions #3

Updated by Tim Pierce about 10 years ago

  • Story points set to 3.0
Actions #4

Updated by Tim Pierce about 10 years ago

  • Story points changed from 3.0 to 2.0
Actions #5

Updated by Tim Pierce about 10 years ago

  • Target version deleted (2014-05-07 Storing and Organizing Data)
Actions #6

Updated by Tim Pierce about 10 years ago

  • Target version set to 2014-05-07 Storing and Organizing Data
Actions #7

Updated by Tom Clegg about 10 years ago

  • Description updated (diff)
Actions #8

Updated by Tim Pierce almost 10 years ago

  • Status changed from New to Resolved
  • % Done changed from 92 to 100

Applied in changeset arvados|commit:a6439c7ddc3407193889386051f06df2a1e74ea9.

Actions

Also available in: Atom PDF