Skip to content

Bug Report: Table GC Regex Not Matching Lowercase State Names #18939

@yushuqin

Description

@yushuqin

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

19.0.7

Operating System and Environment details

Ubuntu

Log Fragments

Metadata

Metadata

Assignees

No one assigned

    Labels

    Needs TriageThis issue needs to be correctly labelled and triagedType: Bug

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions