On Tue, 5 Dec 2017, simplemaomao@xxxxxxx wrote: > Hi cephers > I want to decode pgmap from leveldb,follow the steps below > 1.stop monitor > 2.ceph-kvstore-tool leveldb /var/lib/ceph/mon/ceph-lab1/store.db get pgmap first_committed out /tmp/pgmap_first_committed > 3.ceph-dencoder import /tmp/pgmap_first_committed type PGMap decode dump_json > the last step return error "error: buffer::malformed_input: void PGMap::decode(ceph::buffer::list::iterator&) unknown encoding version > 6" > ceph version 10.2.10 (5dc1e4c05cb68dbf62ae6fce3f0700e4654fdbbe) The old PGMap structure is never actually encoded and stored in its entirety any more (since, I think, dumpling or emperor?). The first_committed value is probably just 8 bytes with the version number. In Jewel, the contents are spread over a zillion keys, one for each PG, in their own format. Starting in Luminous, we encode only a PGMapDigest object, which has only the summary information. sage