Check+Set Race Conditions

Bug #1454262 reported by Kiall Mac Innes on 2015-05-12
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Designate
High
Kiall Mac Innes
Kilo
High
Kiall Mac Innes

Bug Description

Check+Set Race Conditions in RecordSet creation, in the APIv1 Records endpoint, and the Base sink notification handler, we have a check+set race condition.

Specifically, the _find_or_create_recordset methods - if executed simultaneously can fail to do the right thing.

We should reverse the order of this, attempt to create, then if we get a Duplicate, fetch the existing.

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

Changed in designate:
status: Triaged → In Progress

Reviewed: https://review.openstack.org/182303
Committed: https://git.openstack.org/cgit/openstack/designate/commit/?id=ef769bf960c9e24f571b80935e03dcd3d8e61c34
Submitter: Jenkins
Branch: master

commit ef769bf960c9e24f571b80935e03dcd3d8e61c34
Author: Kiall Mac Innes <email address hidden>
Date: Tue May 12 14:59:15 2015 +0100

    Fix check+set race condition in APIv1/Sink

    Change-Id: I02d22212511246f0c1b8138fa3413770cd5810a1
    Closes-Bug: 1454262

Changed in designate:
status: In Progress → Fix Committed

Reviewed: https://review.openstack.org/182731
Committed: https://git.openstack.org/cgit/openstack/designate/commit/?id=219aa4bee5af92ac29e0a1ff0e90b6dd38cbbc90
Submitter: Jenkins
Branch: stable/kilo

commit 219aa4bee5af92ac29e0a1ff0e90b6dd38cbbc90
Author: Kiall Mac Innes <email address hidden>
Date: Tue May 12 14:59:15 2015 +0100

    Fix check+set race condition in APIv1/Sink

    Change-Id: I02d22212511246f0c1b8138fa3413770cd5810a1
    Closes-Bug: 1454262
    (cherry picked from commit ef769bf960c9e24f571b80935e03dcd3d8e61c34)

Thierry Carrez (ttx) on 2015-06-24
Changed in designate:
status: Fix Committed → Fix Released
Thierry Carrez (ttx) on 2015-10-15
Changed in designate:
milestone: liberty-1 → 1.0.0
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers