mirror of
https://github.com/grafana/grafana.git
synced 2025-02-25 18:55:37 -06:00
* Alerting: Prevent short uid collision in legacy migration when db is case-insensitive Two factors come into play that cause sporadic uid conflicts during legacy alert migration: - MySQL and MySQL-compatible backends use case-insensitive collation. - Our short uid generator is not a uniform RNG and generates uids in such a way that generations in quick succession have a higher probability of creating similar uids. Normally we would be guaranteed unique short uid generation, however if the source alphabet contains duplicate characters (for example, if we use case-insensitive comparison) this guarantee is void. Generating even ~1000 uids in quick succession is nearly guaranteed to create a case-insensitive duplicate.