Many records created at the same time may lead to a race condition
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Designate |
Fix Released
|
Undecided
|
Erik Olof Gunnar Andersson | ||
Ubuntu Cloud Archive |
Fix Released
|
Undecided
|
Unassigned | ||
Stein |
Fix Released
|
High
|
Unassigned | ||
Train |
Fix Released
|
High
|
Unassigned | ||
designate (Ubuntu) |
Fix Released
|
Undecided
|
Unassigned | ||
Focal |
Fix Released
|
Undecided
|
Unassigned |
Bug Description
[Impact]
* When multiple records are created at the very same time the
serial number may not be updated properly. This is especially
easy to reproduce with the designate-sink and creating 2+ VMs
at the same time.
* The fix is included in the upstream Stein branch but is not
included in any Stein release.
[Test Plan]
* Create multiple DNS recordsets in parallel and verify that
they are all included in the DNS zone on the backend DNS
server. It is important to created those recordsets very close
in time so that the bug is triggered. Using a deployment
mechanism such as Terraform might help.
[Where problems could occur]
* The upstream fix introduces a central lock which prevents the
bug but also leads to performance degradation because this
lock functions as a parallel barrier.
[Original description]
When multiple records are created at the very same time the serial number may not be updated properly. This is especially easy to reproduce with the designate-sink and creating 2+ VMs at the same time.
Changed in designate: | |
assignee: | nobody → Erik Olof Gunnar Andersson (eandersson) |
status: | New → In Progress |
affects: | designate (Ubuntu) → cloud-archive |
Changed in designate (Ubuntu Focal): | |
status: | New → Fix Released |
Changed in designate (Ubuntu): | |
status: | New → Fix Released |
Changed in cloud-archive: | |
status: | New → Fix Released |
Reviewed: https:/ /review. opendev. org/717955 /git.openstack. org/cgit/ openstack/ designate/ commit/ ?id=f6090d885c8 ebe00a89307a1e2 f5621de75dcda8
Committed: https:/
Submitter: Zuul
Branch: master
commit f6090d885c8ebe0 0a89307a1e2f562 1de75dcda8
Author: Erik Olof Gunnar Andersson <email address hidden>
Date: Mon Apr 6 22:39:36 2020 -0700
Adding distributed locking to central
The current locking implementation is limited to
the running process. This introduces distributed
locking that will help prevent race conditions
when there are many instances of designate-central
running.
Closes-Bug: #1871332 ee33528f9964c03 274f62a795a
Change-Id: I98f7f80ce365cd