osd: hammer: fail to start due to stray pgs after firefly->hammer upgrade
On Fri, 11 Sep 2015, Haomai Wang wrote:
On Fri, Sep 11, 2015 at 8:56 PM, Sage Weil <firstname.lastname@example.org> wrote:
On Fri, 11 Sep 2015, ?? wrote:
Thank Sage Weil:
1. I delete some testing pools in the past, but is was a long
time ago (may be 2 months ago), in recently upgrade, do not
2.? ceph osd dump please see the (attachment file
3. debug osd = 20' and 'debug filestore = 20? (attachment file
This one is failing on pool 54, which has been deleted.? In this
can work around it by renaming current/54.* out of the way.
4. i install the ceph-test, but output error
ceph-kvstore-tool /ceph/data5/current/db list
Invalid argument: /ceph/data5/current/db: does not exist
(create_if_missing is false)
Sorry, I should have said current/omap, not current/db.? I'm
to see the key dump.? I'm not sure why the leveldb key for these
Yesterday I have a chat with wangrui and the reason is "infos"(legacy oid)
is missing. I'm not sure why it's missing.
Oh, I think I see what happened:
- the pg removal was aborted pre-hammer. On pre-hammer, thsi means that
load_pgs skips it here:
- we upgrade to hammer. we skip this pg (same reason), don't upgrade it,
but delete teh legacy infos object
- now we see this crash...
I think the fix is, in hammer, to bail out of peek_map_epoch if the infos
object isn't present, here
Probably we should restructure so we can return a 'fail' value
instead of a magic epoch_t meaning the same...
suites/rados/singleton-nomsgr/all/11429.yaml: double-hop and fix
- simplify this.. lots of extra cruft we don't need
- restart twice at hammer to ensure that we can still load pgs
- do the same for the final version.