SYMC:Rapid network create and delete causes a race condition
Bug #1482277 reported by
Rudrajit Tapadar
This bug affects 1 person
Affects | Status | Importance | Assigned to | Milestone | ||
---|---|---|---|---|---|---|
Juniper Openstack | Status tracked in Trunk | |||||
R2.0 |
Fix Committed
|
High
|
Prakash Bailkeri | |||
R2.20 |
Fix Committed
|
High
|
Prakash Bailkeri | |||
Trunk |
Fix Committed
|
High
|
Prakash Bailkeri | |||
OpenContrail |
Fix Released
|
High
|
Prakash Bailkeri |
Bug Description
Rapid network create and delete causes a race condition of state update in the controllers. The impact is that some controllers have the correct state and routes when the network is re-created, while the affected controllers don't have any routes for that particular network and is in a "deleted=True" state.
Changed in opencontrail: | |
assignee: | nobody → Prakash Bailkeri (prakashmb) |
tags: | added: contrail-control |
Changed in opencontrail: | |
importance: | Undecided → High |
Changed in juniperopenstack: | |
importance: | Undecided → High |
assignee: | nobody → Prakash Bailkeri (prakashmb) |
summary: |
- Rapid network create and delete causes a race condition + SYMC:Rapid network create and delete causes a race condition |
Changed in opencontrail: | |
status: | New → Fix Released |
To post a comment you must log in.
gcore and binary in http:// mayamruga/ Docs/bugs/ 1482277/
gcore analysis:
(gdb) pdb_table_listeners 0x7f3ef0aaf970 DLP:dlp- AutomationFrame work:snat- si-left_ si_73d9d015- 7f4e-4426- 8b9f-7f9a5421cd 39:service- 3b6023db- a05b-4770- 8cd1-5b765466a8 d2-DLP_ dlp-AutomationF ramework_ si_73d9d015- 7f4e-4426- 8b9f-7f9a5421cd 39.inet. 0) has following clients ------- ------- ------- ------- ------- ------- ---- ------- ------- ------- ------- ------- ------- ---- ------- ------- ------- ------- ------- -- ------- ------- ------- ------- ------- --
DBtable 0x7f3ef0aaf970(
-------
ListenerId Callback
-------
(gdb) pdb_table_entries 0x7f3ef0aaf970
Entries in DB Table 0x7f3ef0aaf970
-------
Entry ptr Entry flags
-------
0x7f3ef0d2f430 0x00000002
(gdb) pdb_entry_states 0x7f3ef0d2f430 ------- ------- ------- ------- ------- ------- ---- ------- ------- ------- ------- ------- ------- ----
DBEntry 0x7f3ef0d2f430 has following states
-------
ListenerId DBState ptr
-------
0 0x7f3ef994f0e0
(gdb) p *(DBState *) 0x7f3ef994f0e0 :StaticRoute, :StaticRoute, :StaticRoute, :StaticRoute, :StaticRoute, :StaticRoute,
$64 = (RtReplicated) {
<DBState> = {
_vptr.DBState = 0xa9a170 <vtable for RtReplicated+16>
},
members of RtReplicated:
replicate_list_ = std::set with 6 elements = {
[0] = {
table_ = 0x2b992a0,
peer_ = 0x0,
path_id_ = 171086486,
src_ = BgpPath:
rt_ = 0x7f3ef0cb45b0
},
[1] = {
table_ = 0x7f3ece943670,
peer_ = 0x0,
path_id_ = 171086486,
src_ = BgpPath:
rt_ = 0x7f3ef0ccc870
},
[2] = {
table_ = 0x7f3ef081eec0,
peer_ = 0x0,
path_id_ = 171086486,
src_ = BgpPath:
rt_ = 0x7f3ef176c8e0
},
[3] = {
table_ = 0x7f3ef0829db0,
peer_ = 0x0,
path_id_ = 171086486,
src_ = BgpPath:
rt_ = 0x7f3ef0cccb50
},
[4] = {
table_ = 0x7f3ef089d600,
peer_ = 0x0,
path_id_ = 171086486,
src_ = BgpPath:
rt_ = 0x7f3ef0ccc500
},
[5] = {
table_ = 0x7f3ef45dc590,
peer_ = 0x0,
path_id_ = 171086486,
src_ = BgpPath:
rt_ = 0x7f3ef10c0a10
}
}
}
p ((DBTable *) 0x2b992a0)->name_ ->name_ AutomationFrame work:dlp- AutomationFrame work-infra- net:dlp- AutomationFrame work-infra- net.inet. 0" ->name_ AutomationFrame work:ASH2- postfix- net:ASH2- postfix- net.inet. 0" ->name_ AutomationFrame work:ASH2- csg-net: ASH2-csg- net.inet. 0" ->name_ AutomationFrame work:ASH2- cds-c3b3e709- 8d5c-4438- 9148-3a5844f73d ed-net: ASH2-cds- c3b3e709- 8d5c-4438- 9148-3a5844f73d ed-net. inet.0" ->name_ AutomationFrame work:ASH2- cds-5a000f99- 02e5-409f- 80e7-919fd1c12b e7-net: ASH2-cds- 5a000f99- 02e5-409f- 80e7-919fd1c12b e7-net. inet.0"
$113 = "bgp.l3vpn.0"
deleted_ = False
p ((DBTable *) 0x7f3ece943670)
$114 = "DLP:dlp-
deleted_ = False
p ((DBTable *) 0x7f3ef081eec0)
$115 = "DLP:dlp-
deleted_ = True
p ((DBTable *) 0x7f3ef0829db0)
$116 = "DLP:dlp-
deleted_ = True
p ((DBTable *) 0x7f3ef089d600)
$117 = "DLP:dlp-
deleted_ = True
p ((DBTable *) 0x7f3ef45dc590)
$118 = "DLP:dlp-
deleted_ = True
(gdb) p *(InetRoute *) 0x7f3ef176c8e0
<DBEntryBase> = {
$122 = (InetRoute) {
<BgpRoute> = {
<Route> = {
<DBEntry> = {
...