dimon222 edited a comment on issue #17897:
URL: https://github.com/apache/airflow/issues/17897#issuecomment-914644779


   Since table for me was created long back in Airflow 1 times, the option for 
collation in airflow.cfg wasn't much useful, as something have to convert all 
the existing indexes.
   
   I have done more tests and then evaluated the long ago created DDL of 
`dag_tag` table.  The charset for it was set latin1, so I had to use 
corresponding case aware collation `latin1_bin`. As it has foreign key 
reference, the same collation is needed on `dag` table. Afterall, I was able to 
do the conversion and finally, success, scheduler no longer crashes and does 
refresh tags correctly.
   
   Overall the procedure for anyone else who might encounter it:    
   1. Check current charset of `dag_tag`, find matching _bin collation with 
case awareness
   2. Drop foreign key constraint on `dag_tag`
   3. Convert charset with new collate on `dag`
   4. Convert charset with new collate on `dag_tag`
   5. Add foreign key constraint back to `dag_tag`
   
   Let me know if there's less painful way. I haven't yet identified if it's 
going to cause other issues like joins between tables of dag and anything else 
(I hope it won't....), otherwise it would mean collation have to be converted 
everywhere with dag_id
   
   PS: solution works for both mariadb and mysql


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


Reply via email to