The MySQL database is more sensitive to content exceptions that Sqlite. Toaster needs additional filtering on problematic data to be correct for both database and not fail for MySql. Observed issues causing fails in MySql: (a) Unicode characters are appearing in layer descriptions ('\\xC2\\x96', "meta-crosswalk") (b) Some layer URL's exceed 200 characters (204 characters, "meta-nexell") (c) Some recipe licenses exceed 200 characters (1451 characters, "linux-firmware") NOTE: the MySQL docs imply a max character length of 256, but 204 characters fail in reality. The solution is: (a) Filter unicode, e.g. li['description'].encode('ascii','replace') (b) Add proactive filter for char fields, e.g. generally enforce char limits, truncate then append a " ..." for extra long fields (c) Promote some Char fields to un-limited Text fields
Created attachment 4294 [details] "lsupdates.py", patched to support MySQL This patched version of "bitbake/lib/toaster/orm/management/commands/lsupdates.py" allows integration with MySql.
David, Can Mingli help with this bug? She has worked on MariaDB and is available to work on YP bugs now so I thought of her.