Project

General

Profile

Actions

Fix #7832

open

PG: do not double-queue pg log entries

Added by Greg Farnum about 10 years ago. Updated about 5 years ago.

Status:
New
Priority:
Normal
Assignee:
-
Category:
-
Target version:
-
% Done:

0%

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

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.)

Actions #1

Updated by Greg Farnum about 10 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.

Actions #2

Updated by Patrick Donnelly about 5 years ago

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

Also available in: Atom PDF