If MariaDB crashes during a CREATE TABLE/ALTER TABLE statement that either creates a new spider table or converts an existing table to use the spider engine, then there can be orphaned entries in mysql.spider_tables that reference the spider table that was never actually created.
At that point, if the user tries to recreate the table again, then they run into an error that is difficult to understand:
e.g. if they run this CREATE TABLE statement:
Then they would see the following error:
To workaround the problem, the orphaned row needs to be deleted:
And then the table can be created.
To fix this, maybe Spider should do some kind of validation at server startup, like making sure that all rows listed in mysql.spider_tables reference tables that actually exist?