Create multiple simular records within a table

Bug #1997585 reported by Anton Vazhnetsov
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
ovsdbapp
In Progress
Undecided
Unassigned

Bug Description

Hi,
we’ve met with an issue, where it was possible to create multiple similar records within a table (for example in ‘Logical_Router_Static_Route’).
How the issue was reproduced:
1. ovsdb-server is under heavy load and sending database updates to clients (udate2, update3) not fast enough
2. client via ovsdbapp tries to add new record, txn.commit_block() returns SUCCESS status
3. due to the ovsdb-server is overloaded, the in-memory database right after transaction is updated slowly and KeyError raised here: https://github.com/openstack/ovsdbapp/blob/master/ovsdbapp/backend/ovs_idl/command.py#L94
4. in-memory database still hasn't been updated, the client adds the same record again, gets the status SUCCESS and KeyError again. this situation can be repeated many times
5. as a result, several identical records are created in the table

This problem is mentioned here: https://patchwork<email address hidden>/

I don't know how to properly solve this problem at the ovsdbapp level, but we can try to reduce the chance of this error with https://review.opendev.org/c/openstack/ovsdbapp/+/865454.

Also, the problem when the in-memory database does not have time to be updated is mentioned here: https://opendev.org/openstack/neutron/commit/9f5afd4f0dcc78ade5fd65362bb683926e2436fe
if you have other opinion or ideas how to solve this problem, please let me know.

Changed in ovsdbapp:
status: New → In Progress
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Change abandoned on ovsdbapp (master)

Change abandoned by "Slawek Kaplonski <email address hidden>" on branch: master
Review: https://review.opendev.org/c/openstack/ovsdbapp/+/865454
Reason: This review is > 4 weeks without comment and currently blocked by a core reviewer with a -2. We are abandoning this for now. Feel free to reactivate the review by pressing the restore button and contacting the reviewer with the -2 on this review to ensure you address their concerns.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.