Repeated create and delete a record in multi-thread,
there are case of 404 "Could not find RecordSet" is returned from the delete record.
Recordset was deleted in same domain by "poolmanager - update_status()" of other requests.
* Steps to reproduce:
Repeat the following APIs.
1. Create Record
- POST /v1/domains/(uuid: domain_id)/records
- Use a different "name" each time.
2. List Records in a Domain
- GET /v1/domains/(uuid: domain_id)/records
3. Delete a record
- DELETE /v1/domains/(uuid: domain_id)/records/(uuid: id)
- concurrency: 4
- total delete requests: 40
- 404 occurred: 1~2
* Actual results:
There is a case where 404 NotFound returned in the "3. Delete a record".
* Expected results:
Return 200 in all DELETE APIs.
* Additional note:
Log has been output in the following order.
1. designate-api output "delete_recordset: Calling central's delete_recordset.".
2. designate-central output "Expected exception during message handling (Could not find RecordSet)"
3. designate-api output "DELETE /v1/domains/9aad7ffd-eec1-498b-84e9-a97b0301dc99/records/6bf55bca-a788-4ddd-ad5a-a602272875d2 HTTP/1.1" 404"
+ designate-api.log
...
2015-10-05 12:06:58.548 7836 INFO designate.central.rpcapi [req-2baa78a3-15b8-4030-b507-01ce63878c29 211109a4f2284e1e920b1cc83db55c1a 7d41a1c6e70344b6bbd4fd6e9e055204 - - -] find_domain: Calling central's find_domain.
2015-10-05 12:06:58.874 7836 INFO designate.central.rpcapi [req-2baa78a3-15b8-4030-b507-01ce63878c29 211109a4f2284e1e920b1cc83db55c1a 7d41a1c6e70344b6bbd4fd6e9e055204 - - -] find_record: Calling central's find_record.
2015-10-05 12:06:59.310 7836 INFO designate.central.rpcapi [req-2baa78a3-15b8-4030-b507-01ce63878c29 211109a4f2284e1e920b1cc83db55c1a 7d41a1c6e70344b6bbd4fd6e9e055204 - - -] delete_record: Calling central's delete_record.
2015-10-05 12:07:00.069 7836 INFO designate.central.rpcapi [req-2baa78a3-15b8-4030-b507-01ce63878c29 211109a4f2284e1e920b1cc83db55c1a 7d41a1c6e70344b6bbd4fd6e9e055204 - - -] find_recordset: Calling central's find_recordset.
2015-10-05 12:07:00.703 7836 INFO designate.central.rpcapi [req-2baa78a3-15b8-4030-b507-01ce63878c29 211109a4f2284e1e920b1cc83db55c1a 7d41a1c6e70344b6bbd4fd6e9e055204 - - -] delete_recordset: Calling central's delete_recordset.
2015-10-05 12:07:00.911 7836 INFO eventlet.wsgi [req-2baa78a3-15b8-4030-b507-01ce63878c29 211109a4f2284e1e920b1cc83db55c1a 7d41a1c6e70344b6bbd4fd6e9e055204 - - -] 100.99.0.200 - - [05/Oct/2015 12:07:00] "DELETE /v1/domains/9aad7ffd-eec1-498b-84e9-a97b0301dc99/records/6bf55bca-a788-4ddd-ad5a-a602272875d2 HTTP/1.1" 404 347 2.370351
+ designate-central.log
...
2015-10-05 12:07:00.781 24935 DEBUG oslo_concurrency.lockutils [req-2baa78a3-15b8-4030-b507-01ce63878c29 211109a4f2284e1e920b1cc83db55c1a 7d41a1c6e70344b6bbd4fd6e9e055204 - - -] Acquired semaphore "domain-9aad7ffd-eec1-498b-84e9-a97b0301dc99" lock /opt/venv/lib/python2.7/site-packages/oslo_concurrency/lockutils.py:391
2015-10-05 12:07:00.883 24935 DEBUG oslo_concurrency.lockutils [req-2baa78a3-15b8-4030-b507-01ce63878c29 211109a4f2284e1e920b1cc83db55c1a 7d41a1c6e70344b6bbd4fd6e9e055204 - - -] Releasing semaphore "domain-9aad7ffd-eec1-498b-84e9-a97b0301dc99" lock /opt/venv/lib/python2.7/site-packages/oslo_concurrency/lockutils.py:404
2015-10-05 12:07:00.887 24935 DEBUG designate.central.service [req-2baa78a3-15b8-4030-b507-01ce63878c29 211109a4f2284e1e920b1cc83db55c1a 7d41a1c6e70344b6bbd4fd6e9e055204 - - -] Emitting 0 notifications wrapper /opt/venv/lib/python2.7/site-packages/designate/central/service.py:235
2015-10-05 12:07:00.891 24935 DEBUG oslo_messaging.rpc.dispatcher [req-2baa78a3-15b8-4030-b507-01ce63878c29 211109a4f2284e1e920b1cc83db55c1a 7d41a1c6e70344b6bbd4fd6e9e055204 - - -] Expected exception during message handling (Could not find RecordSet) _dispatch_and_reply /opt/venv/lib/python2.7/site-packages/oslo_messaging/rpc/dispatcher.py:145
...
2015-10-05 12:07:01.530 24935 DEBUG designate.central.service [req-2baa78a3-15b8-4030-b507-01ce63878c29 211109a4f2284e1e920b1cc83db55c1a 7d41a1c6e70344b6bbd4fd6e9e055204 - - -] Setting record bfee2b03-cc56-427e-af65-9eac150b7598, serial 1444046820: action NONE, status DELETED _update_record_status /opt/venv/lib/python2.7/site-packages/designate/central/service.py:2221
2015-10-05 12:07:01.544 24935 DEBUG designate.central.service [req-2baa78a3-15b8-4030-b507-01ce63878c29 211109a4f2284e1e920b1cc83db55c1a 7d41a1c6e70344b6bbd4fd6e9e055204 - - -] Deleting record bfee2b03-cc56-427e-af65-9eac150b7598, serial 1444046820: action NONE, status DELETED _update_record_status /opt/venv/lib/python2.7/site-packages/designate/central/service.py:2230
2015-10-05 12:07:01.603 24935 DEBUG designate.central.service [req-2baa78a3-15b8-4030-b507-01ce63878c29 211109a4f2284e1e920b1cc83db55c1a 7d41a1c6e70344b6bbd4fd6e9e055204 - - -] Setting domain 9aad7ffd-eec1-498b-84e9-a97b0301dc99, serial 1444046821: action UPDATE, status PENDING _update_domain_status /opt/venv/lib/python2.7/site-packages/designate/central/service.py:2178
Fix proposed to branch: master /review. openstack. org/236934
Review: https:/