neutron.provisioningblocks WSREP: referenced FK check fail
Bug #1991222 reported by
Maximilian Stinsky
This bug affects 2 people
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
neutron |
New
|
Medium
|
Unassigned |
Bug Description
Greetings,
I am seeing the following error in our galera cluster a couple of times a day:
[ERROR] InnoDB: WSREP: referenced FK check fail: Lock wait index `PRIMARY` table `neutron`
This only happens for neutron and always for the provisioningblocks table.
Sadly I am not 100% sure when this error happened the first time or with what upgrade it was introduced.
I am seeing this error in our production cluster with neutron ussuri aswell as our lab cluster which is neutron victoria.
Our galera cluster is running with mariadb 10.5.8.
Is this a known error or are there any hints on what to do about it?
Changed in neutron: | |
importance: | Undecided → Medium |
To post a comment you must log in.
Hello Maximilian:
I saw this issue reported in other occasions [1][2]. I could be an issue in the DB engine. However, checking the code (before Zed release), I think we can improve the only method that is creating the "provisioningbl ocks" registers [3]. In this method we first retrieve the "standard_attr_id" and use it to create the "provisioningbl ocks". But this method can be called outside a DB context. That means the "standard_attr" register can be deleted before the "provisioningbl ocks" is created.
Adding a writer context to the method (as in Zed release), we can ensure the "standard_attr_id" FK exists when the register is created. That will be guaranteed by the transactionality of the DB engine.
Regards.
[1]https:/ /jira.mariadb. org/browse/ MDEV-18562 /meetings. opendev. org/irclogs/ %23openstack- kolla/% 23openstack- kolla.2020- 07-29.log. html /github. com/openstack/ neutron/ blob/d847b52c4f 36e17c9c360320d 160a0d05330a71c /neutron/ db/provisioning _blocks. py#L107- L143
[2]https:/
[3]https:/