Actions
Fix #7832
openPG: do not double-queue pg log entries
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.)
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.
Updated by Patrick Donnelly about 5 years ago
- Project changed from Ceph to RADOS
- Component(RADOS) OSD added
Actions