Bug #821
osd: fix osdmap caching
Source:
Tags:
Backport:
Regression:
No
Severity:
3 - minor
Reviewed:
Affected Versions:
ceph-qa-suite:
Pull request ID:
Crash signature (v1):
Crash signature (v2):
Description
two issues (at least):
- we end up regenerating the osdmaps from disk data frequently
- we throw out cached copies in hadnle_osd_map only (?), which means we sometimes don't free them at all (if the last map ended up using a lot)
I think a robust solution to this will include:
- get_map returning shared_ptr<OSDMap*>. they are all read-only copies, so locking issues go away (for the maps themselves)
- some real-ish cache management, probably informed by peering: we keep them around if we are still peering anything, and are sure to trim when we are not.
History
#1 Updated by Sage Weil about 13 years ago
- Target version changed from v0.25 to v0.26
#2 Updated by Sage Weil about 13 years ago
- Assignee set to Colin McCabe
#3 Updated by Sage Weil about 13 years ago
- Priority changed from Normal to High
#4 Updated by Sage Weil about 13 years ago
- Status changed from New to Resolved
- Assignee changed from Colin McCabe to Sage Weil
This is fixed without shared_ptr<>. See 399032cca53c37dca08713818621a24b924fd4a6 and 96c2cb5b986d6e7fce26f508d208f9e1f9b4309e
#5 Updated by Sage Weil about 13 years ago
- translation missing: en.field_story_points set to 2
- translation missing: en.field_position set to 1
- translation missing: en.field_position changed from 1 to 537