[SRU] dns_domains table mysql charset is 'latin1'. Should be 'utf8'
| Affects | Status | Importance | Assigned to | Milestone | |
|---|---|---|---|---|---|
| OpenStack Compute (nova) |
Fix Released
|
Medium
|
Dan Prince | ||
| Essex |
Fix Released
|
Undecided
|
Unassigned | ||
| nova (Ubuntu) |
Fix Released
|
Undecided
|
Unassigned | ||
| Precise |
Fix Released
|
Undecided
|
Unassigned | ||
Bug Description
After creating an OpenStack Essex MySQL schema only a single table uses the 'latin1' charset by default: dns_domains.
We should refactor this table format in Folsom such that dns_domains properly supports getting converted to utf8 like everything else.
To reproduce you can do the following in a python-migrate script:
# NOTE(dprince): Trying to create a fresh utf8 dns_domains tables
# with a domain primary key length of 512 fails w/
# 'Specified key was too long; max key length is 767 bytes'.
dns_domains = Table('
)
----
I think one solution would be to quit using 'domain' as the primary key and instead just create an index on the 'domain' column. Having a monotonically increasing primary key is often a good idea anyway.
Related branches
- Chuck Short: Pending requested
-
Diff: 56 lines (+14/-4)3 files modifieddebian/changelog (+8/-0)
debian/control (+6/-3)
debian/nova-console.install (+0/-1)
| Changed in nova: | |
| assignee: | nobody → Dan Prince (dan-prince) |
| status: | New → In Progress |
| Changed in nova: | |
| importance: | Undecided → Medium |
| tags: | added: db |
| Changed in nova: | |
| milestone: | none → folsom-1 |
| Changed in nova: | |
| status: | Fix Committed → Fix Released |
| Changed in nova (Ubuntu): | |
| status: | New → In Progress |
| Changed in nova (Ubuntu Precise): | |
| status: | New → In Progress |
| summary: |
- dns_domains table mysql charset is 'latin1'. Should be 'utf8' + [SRU] dns_domains table mysql charset is 'latin1'. Should be 'utf8' |
| tags: |
added: verification-done removed: verification-needed |
| Changed in nova (Ubuntu): | |
| status: | In Progress → Fix Released |
| Changed in nova: | |
| milestone: | folsom-1 → 2012.2 |

I think you meant create a unique index on the 'domain' column, but yeah, I agree that 'domain' shouldn't be the primary key in this case.