Project

General

Profile

Fix #7832

PG: do not double-queue pg log entries

Added by Greg Farnum over 5 years ago. Updated 5 months ago.

Status:
New
Priority:
Normal
Assignee:
-
Category:
-
Target version:
-
Start date:
03/24/2014
Due date:
% Done:

0%

Source:
Community (dev)
Tags:
Backport:
Reviewed:
Affected Versions:
ceph-qa-suite:
Component(RADOS):
OSD
Pull request ID:

Description

PG::_write_log() sends each of the entries in the pg log to the omap. (obviously) Irritatingly, PG::append_log does the same in most cases (although the "log" is passed in as a reference parameter), despite eventually calling into _write_log(). That means that the log entries are queued up twice for the underlying ObjectStore to deal with in its transaction, which should be safe but is a little bit rude. (The only difference is that _write_log() is including the can_rollback_to param in its key set, and append_log() does not.)

History

#1 Updated by Greg Farnum over 5 years ago

Okay, that code diagnosis is probably not correct, since append_log doesn't set the dirty_from member which _write_log is checking. :/ I'll try and gather more info.

#2 Updated by Patrick Donnelly 5 months ago

  • Project changed from Ceph to RADOS
  • Component(RADOS) OSD added

Also available in: Atom PDF