In effort to fix
, we change the ensure_full_commit from actively polling ep_engine stats during checkpointing, to event notification manner that it only gets notified when the checkpoint id changes. Today mc_connection:do_notify_vbucket_update() push event to event manager whenever the vbstate changes, which covers much more than checkpoint ID change. To avoid overhead to parse a large amount of unwanted msg from event manager, ep_engine need to provides a boolean flag to indicate that in this event, the checkpoint ID changes or not. Then we can filter out all other events involving no checkpoint change.
This may involves a protocol change between ep_engine and ns_server, commits on both sides need to be merged at the same time.