Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

src/osd/PG.cc: remove redundant call to trim_log() #23354

Merged
merged 1 commit into from Jul 31, 2018

Commits on Jul 31, 2018

  1. src/osd/PG.cc: remove redundant call to trim_log()

    This change is motived by the failure tracked in
    https://tracker.ceph.com/issues/25198. The failure highlights a case, when a
    call to trim_log() after the PG has recovered, races with the previous op,
    on a replica OSD. Since the previous operation has not completed, the
    last_complete value for that OSD is not valid, when we try to trim the
    log. It is also worth noting that the race is due to MOSDPGTrim going through
    the strict queue as a peering message vs regular ops going through the
    non-strict queue.
    
    During the investigation of this bug, we noticed that, with
    https://tracker.ceph.com/issues/23979, we allow pg log trimming to
    happen on the primary and replicas, whenever we cross the upper bound of
    the pg log. This also ensures that pg log trimming happens while processing
    any new op.
    
    Therefore, the function trim_log(), which earlier served the purpose of
    trimming logs on the primary and replicas, just before the PG went into
    the Recovered state, is no more required. This acted like a last line of
    defense to trim logs, when we did not need the logs any more. But, this call
    seems redundant now, because, we are limiting the pg log length at all times.
    
    Signed-off-by: Neha Ojha <nojha@redhat.com>
    neha-ojha committed Jul 31, 2018
    Configuration menu
    Copy the full SHA
    283b0bd View commit details
    Browse the repository at this point in the history