-
Notifications
You must be signed in to change notification settings - Fork 68
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Remove foreign key constraints from MyISAM table #1232
Remove foreign key constraints from MyISAM table #1232
Conversation
Kudos, SonarCloud Quality Gate passed! 0 Bugs |
Alternatively, we could consider changing all the tables in |
My preference would be to change the default to InnoDB, but if that doesn't work then we could just update this table to be InnoDB or update the FK check so that it only runs on InnoDB tables. |
I'm not sure which default you're referring to, but this table is explicitly set to MyISAM. Unfortunately, the ETL system doesn't handle changes to the storage engine very well:
Disabling the check is a bad idea because it's misleading to have a configuration file with a foreign key constraint defined when no such constraint exists on the actual table. If anything I would prefer that the ETL system consider this configuration to be invalid since it's not supported by the underlying storage engine. |
wow, that's definitely my bad ( having this table set to 'MyISAM' ) it should definitely by InnoDB. The "default" thing was just my brains way of interpreting your "Alternatively, we could consider changing all the tables in modw_cloud to be InnoDB." as in, the default table engine would be InnoDB for modw_cloud. Yeah... my brains weird shrug. Oh, I wouldn't want to disable it wholesale, but only have it run for tables that can actually support keys. And I 100% agree that it would be ideal if the ETL System complained about this as being an invalid configuration. So yeah, I think the easiest overall fix would be to just change this tables engine type to InnoDB as that's what it should have been in the first place hangs head in shame |
I'm still looking into what needs to change to make the ETL system alter the table engine properly. Both This works:
I'll leave this pull request up for now so that anyone else can comment if they'd like. |
Anyone know why submission venue is in modw? |
It looks like submission venue is used by XSEDE OSG jobs (and therefore was already in use before the cloud submission venue was added). I haven't verified that, but there is some ETL configuration that implies that that is ingested somewhere. |
I'm merging this in now. I'll have more changes to try and support these constraints later. |
Description
Removes foreign key constraints from the ETL table definition for
modw_cloud
.domain_submission_venues
.Motivation and Context
MyISAM tables do not support foreign key constraints. This results in the ETL system attempting to alter the table every time data is ingested:
Tests performed
No tests.
Types of changes
Checklist: