Overview of the Issue
Problem: When MySQL is configured with lower_case_table_names=1, all table names are stored in lowercase. Vitess generates GC table names like vt_HOLD, but MySQL stores them as vt_hold. The old regex only matched uppercase state names, causing TableGC to fail to recognize, and stay forever.
Solution: The fix makes the GC table recognition case-insensitive while maintaining backward compatibility with existing uppercase table names.
slackhq#753
Reproduction Steps
- mysql configuration: lower_case_table_names=1
- do onlineddl schema change
- tables starting with
vt_hold will stay forever, never be cleaned up
Binary Version
Operating System and Environment details
Log Fragments