[ceph-users] Question about BUG #11332

许雪寒 xuxuehan at 360.cn
Thu Nov 23 01:55:01 PST 2017

Hi, everyone.

 We also encountered this problem: http://tracker.ceph.com/issues/11332. And we found that this seems to be caused by the lack of mutual exclusion between applying "trim" and handling subscriptions. Since "build_incremental" operations doesn't go through the "PAXOS" procedure, and applying "trim" contains two phases, which are modifying "mondbstore" and updating "cached_first_committed", there could be a chance for "send_incremental" operations to happen between them. What's more, "build_incremental" operations also contain two phases, getting "cached_first_committed" and getting actual incrementals for MonDBStore. So, if "build_incremental" do happens concurrently with applying "trim", it could get an out-dated "cached_first_committed" and try to read a full map whose already trimmed.

Is this right?

If it is, we think maybe all “READ” operations in monitor should be synchronized with paxos commit. Right? Should some kind of read-write locking mechanism be used here?

More information about the ceph-users mailing list