Concurrent DB transaction when deleting resources
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
OpenStack Heat |
Triaged
|
Medium
|
Unassigned |
Bug Description
After successfully deploying openshift-
I tried with this patch applied:
https:/
But no luck.
Also tried this:
[root@overcloud
41,42c41,43
< wrapper = retrying.
< wait_random_
---
> wrapper = retrying.
> wait_random_
> wait_exponentia
But same error.
2016-11-16 08:14:30.428 52982 INFO heat.engine.
ack "test-openshift
2016-11-16 08:14:30.428 52982 ERROR heat.engine.
2016-11-16 08:14:30.428 52982 ERROR heat.engine.
2016-11-16 08:14:30.428 52982 ERROR heat.engine.
2016-11-16 08:14:30.428 52982 ERROR heat.engine.
2016-11-16 08:14:30.428 52982 ERROR heat.engine.
2016-11-16 08:14:30.428 52982 ERROR heat.engine.
2016-11-16 08:14:30.428 52982 ERROR heat.engine.
2016-11-16 08:14:30.428 52982 ERROR heat.engine.
2016-11-16 08:14:30.428 52982 ERROR heat.engine.
2016-11-16 08:14:30.428 52982 ERROR heat.engine.
2016-11-16 08:14:30.428 52982 ERROR heat.engine.
2016-11-16 08:14:30.428 52982 ERROR heat.engine.
2016-11-16 08:14:30.428 52982 ERROR heat.engine.
2016-11-16 08:14:30.428 52982 ERROR heat.engine.
on for deployments of server 39bb0dea-
2016-11-16 08:14:30.428 52982 ERROR heat.engine.
2016-11-16 08:14:30.428 52982 ERROR heat.engine.
2016-11-16 08:14:30.428 52982 ERROR heat.engine.
2016-11-16 08:14:30.428 52982 ERROR heat.engine.
2016-11-16 08:14:30.428 52982 ERROR heat.engine.
2016-11-16 08:14:30.428 52982 ERROR heat.engine.
2016-11-16 08:14:30.428 52982 ERROR heat.engine.
2016-11-16 08:14:30.428 52982 ERROR heat.engine.
2016-11-16 08:14:30.428 52982 ERROR heat.engine.
2016-11-16 08:14:30.428 52982 ERROR heat.engine.
2016-11-16 08:14:30.428 52982 ERROR heat.engine.
2016-11-16 08:14:30.428 52982 ERROR heat.engine.
2016-11-16 08:14:30.428 52982 ERROR heat.engine.
2016-11-16 08:14:30.428 52982 ERROR heat.engine.
2016-11-16 08:14:30.428 52982 ERROR heat.engine.
2016-11-16 08:14:30.428 52982 ERROR heat.engine.
2016-11-16 08:14:30.428 52982 ERROR heat.engine.
2016-11-16 08:14:30.428 52982 ERROR heat.engine.
2016-11-16 08:14:30.428 52982 ERROR heat.engine.
2016-11-16 08:14:30.428 52982 ERROR heat.engine.
2016-11-16 08:14:30.428 52982 ERROR heat.engine.
2016-11-16 08:14:30.428 52982 ERROR heat.engine.
2016-11-16 08:14:30.428 52982 ERROR heat.engine.
2016-11-16 08:14:30.428 52982 ERROR heat.engine.
2016-11-16 08:14:30.428 52982 ERROR heat.engine.
2016-11-16 08:14:30.428 52982 ERROR heat.engine.
2016-11-16 08:14:30.667 52980 INFO heat.engine.
description: | updated |
Changed in heat: | |
milestone: | none → pike-1 |
Changed in heat: | |
milestone: | pike-1 → pike-2 |
Changed in heat: | |
milestone: | pike-2 → pike-3 |
Changed in heat: | |
importance: | High → Medium |
milestone: | pike-3 → next |
We should probably store this data in a separate table and query all the rows that apply to a particular server from the DB when we need it, rather than combine them all into a single blob that then causes contention issues. (This might also solve various issues we have had with updating metadata while a resource is locked.)
In the short term though, Jan came up with this workaround which was fairly effective in spreading out the thundering herd:
delete_ delay_time: :RandomString _classes: :TestResource wait_secs: bastion_ node_cleanup
type: OS::Heat:
properties:
character
- min: 2
class: digits
length: 2
delete_delay:
type: OS::Heat:
properties:
action_
delete: {get_attr: [delete_delay_time, value]}
depends_on: deployment_