Bug #61518
closedCrimson/SeaStore: committing EXIST_MUTATION_PENDING extents cannot propagate transaction conflicts
0%
Description
See https://github.com/ceph/ceph/pull/45519/commits/84400c374d66cdd1e3d27db1e60ee4cd6e1425d1#diff-2d1edaa7a9eebb3a65135f5af648dd069934fa6bf6e6e0339b5771b0daef3727R1057-R1065 and https://github.com/ceph/ceph/pull/45519/commits/97dcfbaed6bc2bc7edafd76880ec03ebcf141386#diff-b936eff13f18e7f87c2b403accb045ed66577ff93091c3b216dbeb7228082b4bR97-R101
It should be incorrect to skip assigning prior_instance to EXIST_MUTATION_PENDING extents, and incorrect to skip calling invalidate_extent() to propagate transaction conflicts.
The comment https://github.com/ceph/ceph/pull/47749#discussion_r1125882313 should be addresses at the same time in order to clarify the invarents about the presence of prior_instance at the level of CachedExtent.
Updated by Yingxin Cheng 11 months ago
- Status changed from New to Won't Fix
I was missing that EXIST_MUTATION_PENDING extent doesn't generate conflict through a prior_instance, it generates conflict through the retired original extent.