Optimization: Don't prune events on every get

Bug #1287757 reported by Adam Young on 2014-03-04
14
This bug affects 4 people
Affects Status Importance Assigned to Milestone
OpenStack Identity (keystone)
High
Morgan Fainberg
Kilo
High
Morgan Fainberg

Bug Description

_prune_expired_events_and_get always locks the backend. Store the time of the oldest event so that the prune process can be skipped if none of the events have timed out.

(decided at keystone midcycle - 2015/07/17) -- MorganFainberg
The easiest solution is to do the prune on issuance of new revocation event instead on the get.

Dolph Mathews (dolph) on 2014-03-10
description: updated
Changed in keystone:
status: New → Triaged
tags: added: performance
Xurong Yang (idopra) on 2014-03-10
Changed in keystone:
assignee: nobody → Xurong Yang (idopra)
Changed in keystone:
importance: Wishlist → High
summary: - Optimization: Skip Prune process in revocation backends
+ Optimization: Don't prune events on every get
description: updated

Fix proposed to branch: master
Review: https://review.openstack.org/203085

Changed in keystone:
assignee: Xurong Yang (idopra) → Morgan Fainberg (mdrnstm)
status: Triaged → In Progress

Reviewed: https://review.openstack.org/203085
Committed: https://git.openstack.org/cgit/openstack/keystone/commit/?id=d7e529911c496c71effa1d51e1ecf2399ef359f1
Submitter: Jenkins
Branch: master

commit d7e529911c496c71effa1d51e1ecf2399ef359f1
Author: Morgan Fainberg <email address hidden>
Date: Fri Jul 17 08:28:30 2015 -0700

    Do not remove expired revocation events on "get"

    Revocation event pruning should only occur on new revocations. This
    will limit the volume of churn to the DB/KVS store for revocation
    events (and impact to performance).

    Change-Id: I1ad7491c54023915c74610287a5095589f12d5c1
    Closes-Bug: #1287757

Changed in keystone:
status: In Progress → Fix Committed
Changed in keystone:
milestone: none → liberty-2
status: Fix Committed → Fix Released

Reviewed: https://review.openstack.org/203104
Committed: https://git.openstack.org/cgit/openstack/keystone/commit/?id=0fe2b70d495563892bfd6459588bd6d0ac694ee7
Submitter: Jenkins
Branch: stable/kilo

commit 0fe2b70d495563892bfd6459588bd6d0ac694ee7
Author: Morgan Fainberg <email address hidden>
Date: Fri Jul 17 08:28:30 2015 -0700

    Do not remove expired revocation events on "get"

    Revocation event pruning should only occur on new revocations. This
    will limit the volume of churn to the DB/KVS store for revocation
    events (and impact to performance).

    Change-Id: I1ad7491c54023915c74610287a5095589f12d5c1
    Closes-Bug: #1287757
    (cherry picked from commit d7e529911c496c71effa1d51e1ecf2399ef359f1)

Thierry Carrez (ttx) on 2015-10-15
Changed in keystone:
milestone: liberty-2 → 8.0.0
no longer affects: keystone/liberty
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Duplicates of this bug

Other bug subscribers