[MDEV-16286] Killed CREATE SEQUENCE leaves sequence in unusable state Created: 2018-05-24  Updated: 2018-05-27  Resolved: 2018-05-27

Status: Closed
Project: MariaDB Server
Component/s: Sequences
Affects Version/s: 10.3
Fix Version/s: 10.3.8

Type: Bug Priority: Major
Reporter: Elena Stepanova Assignee: Michael Widenius
Resolution: Fixed Votes: 0
Labels: None


 Description   

Note: Run with --repeat=N if it's not reproducible right away.

--connect (con1,localhost,root,,test)
--let $conid= `SELECT CONNECTION_ID()`
--send
	CREATE SEQUENCE s;
--connection default
--eval KILL $conid
--error 0,ER_NO_SUCH_TABLE
SELECT NEXTVAL(s);
 
# Cleanup
DROP SEQUENCE s;

The test case above kills a connection in the process of creating a sequence. Expected outcomes are that the sequence either doesn't get created, or is fully functional. However, most often it's created, but remains unusable, attempts to refer to it end up with ER_KEY_NOT_FOUND:

10.3 96cee524fe

mysqltest: At line 8: query 'SELECT NEXTVAL(s)' failed with wrong errno 1032: 'Can't find record in 's'', instead of 0...

It fails nearly every time for me, but it's still a race condition, so sometimes it misses the mark. Run with --repeat if it doesn't fail for you.



 Comments   
Comment by Michael Widenius [ 2018-05-27 ]

Fixed by deleting the sequence if we where not able to initialize it

Generated at Thu Feb 08 08:27:46 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.