Closed
Bug 837811
Opened 13 years ago
Closed 13 years ago
[stage] Adding a new language to a user's account results in a 500 error
Categories
(Participation Infrastructure :: Phonebook, defect)
Participation Infrastructure
Phonebook
Tracking
(Not tracked)
VERIFIED
FIXED
2013-02-07
People
(Reporter: mbrandt, Assigned: sancus)
References
()
Details
(Whiteboard: [regression])
This is reproducible on existing accounts and during new account creation. Stage only, not reproducible on production.
Steps to reproduce:
0. Update an existing profile on stage or create a new account
1. add a new language to an existing account (I used cowboy and alien)
2. save the change
Expected:
Actual:
A 500 error is generated
Traceback (most recent call last):
File "/data/www/mozillians.allizom.org/mozillians/vendor/src/django/django/core/handlers/base.py", line 111, in get_response
response = callback(request, *callback_args, **callback_kwargs)
File "/data/www/mozillians.allizom.org/mozillians/vendor/src/django/django/views/decorators/cache.py", line 89, in _wrapped_view_func
response = view_func(request, *args, **kwargs)
File "/data/www/mozillians.allizom.org/mozillians/vendor/src/django/django/contrib/auth/decorators.py", line 20, in _wrapped_view
return view_func(request, *args, **kwargs)
File "/data/www/mozillians.allizom.org/mozillians/apps/phonebook/views.py", line 99, in edit_profile
profile_form.save()
File "/data/www/mozillians.allizom.org/mozillians/apps/phonebook/forms.py", line 159, in save
self.instance.set_membership(Language, self.cleaned_data['languages'])
File "/data/www/mozillians.allizom.org/mozillians/apps/users/models.py", line 149, in set_membership
group = model.objects.create(name=g)
File "/data/www/mozillians.allizom.org/mozillians/vendor/src/django/django/db/models/manager.py", line 137, in create
return self.get_query_set().create(**kwargs)
File "/data/www/mozillians.allizom.org/mozillians/vendor/src/django/django/db/models/query.py", line 377, in create
obj.save(force_insert=True, using=self.db)
File "/data/www/mozillians.allizom.org/mozillians/apps/groups/models.py", line 45, in save
super(GroupBase, self).save(*args, **kwargs)
File "/data/www/mozillians.allizom.org/mozillians/vendor/src/django/django/db/models/base.py", line 463, in save
self.save_base(using=using, force_insert=force_insert, force_update=force_update)
File "/data/www/mozillians.allizom.org/mozillians/vendor/src/django/django/db/models/base.py", line 551, in save_base
result = manager._insert([self], fields=fields, return_id=update_pk, using=using, raw=raw)
File "/data/www/mozillians.allizom.org/mozillians/vendor/src/django/django/db/models/manager.py", line 203, in _insert
return insert_query(self.model, objs, fields, **kwargs)
File "/data/www/mozillians.allizom.org/mozillians/vendor/src/django/django/db/models/query.py", line 1576, in insert_query
return query.get_compiler(using=using).execute_sql(return_id)
File "/data/www/mozillians.allizom.org/mozillians/vendor/src/django/django/db/models/sql/compiler.py", line 910, in execute_sql
cursor.execute(sql, params)
File "/data/www/mozillians.allizom.org/mozillians/vendor/src/django/django/db/backends/mysql/base.py", line 114, in execute
return self.cursor.execute(query, args)
File "/usr/lib64/python2.6/site-packages/MySQLdb/cursors.py", line 173, in execute
self.errorhandler(self, exc, value)
File "/usr/lib64/python2.6/site-packages/MySQLdb/connections.py", line 36, in defaulterrorhandler
raise errorclass, errorvalue
IntegrityError: (1062, "Duplicate entry 'cowboy' for key 'name'")
POST:<QueryDict: {u'website': [u''], u'bio': [u''], u'username': [u'testmonkey'], u'groups': [u''], u'city': [u''], u'skills': [u'alien'], u'photo': [u''], u'region': [u''], u'languages': [u'cowboy'], u'allows_mozilla_sites': [u'True'], u'full_name': [u'matt'], u'country': [u''],
Reporter | ||
Updated•13 years ago
|
Summary: [stage] Adding a new a language to a user's account results in a 500 error → [stage] Adding a new language to a user's account results in a 500 error
Reporter | ||
Updated•13 years ago
|
Whiteboard: [regression]
Target Milestone: --- → 2013-02-07
Assignee | ||
Comment 1•13 years ago
|
||
This was fixed by MyISAM -> InnoDB on the affected tables.
Assignee: nobody → sancus
Status: NEW → RESOLVED
Closed: 13 years ago
Resolution: --- → FIXED
Reporter | ||
Comment 2•13 years ago
|
||
Reopening:
Adding 'cowboy' as a language results in this errror.
Traceback (most recent call last):
File "/data/www/mozillians.allizom.org/mozillians/vendor/src/django/django/core/handlers/base.py", line 111, in get_response
response = callback(request, *callback_args, **callback_kwargs)
File "/data/www/mozillians.allizom.org/mozillians/vendor/src/django/django/views/decorators/cache.py", line 89, in _wrapped_view_func
response = view_func(request, *args, **kwargs)
File "/data/www/mozillians.allizom.org/mozillians/vendor/src/django/django/contrib/auth/decorators.py", line 20, in _wrapped_view
return view_func(request, *args, **kwargs)
File "/data/www/mozillians.allizom.org/mozillians/apps/phonebook/views.py", line 99, in edit_profile
profile_form.save()
File "/data/www/mozillians.allizom.org/mozillians/apps/phonebook/forms.py", line 159, in save
self.instance.set_membership(Language, self.cleaned_data['languages'])
File "/data/www/mozillians.allizom.org/mozillians/apps/users/models.py", line 149, in set_membership
group = model.objects.create(name=g)
File "/data/www/mozillians.allizom.org/mozillians/vendor/src/django/django/db/models/manager.py", line 137, in create
return self.get_query_set().create(**kwargs)
File "/data/www/mozillians.allizom.org/mozillians/vendor/src/django/django/db/models/query.py", line 377, in create
obj.save(force_insert=True, using=self.db)
File "/data/www/mozillians.allizom.org/mozillians/apps/groups/models.py", line 45, in save
super(GroupBase, self).save(*args, **kwargs)
File "/data/www/mozillians.allizom.org/mozillians/vendor/src/django/django/db/models/base.py", line 463, in save
self.save_base(using=using, force_insert=force_insert, force_update=force_update)
File "/data/www/mozillians.allizom.org/mozillians/vendor/src/django/django/db/models/base.py", line 565, in save_base
created=(not record_exists), raw=raw, using=using)
File "/data/www/mozillians.allizom.org/mozillians/vendor/src/django/django/dispatch/dispatcher.py", line 172, in send
response = receiver(signal=self, sender=sender, **named)
File "/data/www/mozillians.allizom.org/mozillians/apps/groups/models.py", line 134, in create_alias
alias=instance)
File "/data/www/mozillians.allizom.org/mozillians/vendor/src/django/django/db/models/manager.py", line 134, in get_or_create
return self.get_query_set().get_or_create(**kwargs)
File "/data/www/mozillians.allizom.org/mozillians/vendor/src/django/django/db/models/query.py", line 449, in get_or_create
obj.save(force_insert=True, using=self.db)
File "/data/www/mozillians.allizom.org/mozillians/vendor/src/django/django/db/models/base.py", line 463, in save
self.save_base(using=using, force_insert=force_insert, force_update=force_update)
File "/data/www/mozillians.allizom.org/mozillians/vendor/src/django/django/db/models/base.py", line 551, in save_base
result = manager._insert([self], fields=fields, return_id=update_pk, using=using, raw=raw)
File "/data/www/mozillians.allizom.org/mozillians/vendor/src/django/django/db/models/manager.py", line 203, in _insert
return insert_query(self.model, objs, fields, **kwargs)
File "/data/www/mozillians.allizom.org/mozillians/vendor/src/django/django/db/models/query.py", line 1576, in insert_query
return query.get_compiler(using=using).execute_sql(return_id)
File "/data/www/mozillians.allizom.org/mozillians/vendor/src/django/django/db/models/sql/compiler.py", line 910, in execute_sql
cursor.execute(sql, params)
File "/data/www/mozillians.allizom.org/mozillians/vendor/src/django/django/db/backends/mysql/base.py", line 114, in execute
return self.cursor.execute(query, args)
File "/usr/lib64/python2.6/site-packages/MySQLdb/cursors.py", line 173, in execute
self.errorhandler(self, exc, value)
File "/usr/lib64/python2.6/site-packages/MySQLdb/connections.py", line 36, in defaulterrorhandler
raise errorclass, errorvalue
IntegrityError: (1452, 'Cannot add or update a child row: a foreign key constraint fails (`mozillians_stage`.`groups_languagealias`, CONSTRAINT `alias_id_refs_id_1052a804225f488a` FOREIGN KEY (`alias_id`) REFERENCES `groups_language` (`id`))')
Status: RESOLVED → REOPENED
Resolution: FIXED → ---
Reporter | ||
Comment 3•13 years ago
|
||
Bumping back to resolved fixed - sancus needed to run the migration.
Status: REOPENED → RESOLVED
Closed: 13 years ago → 13 years ago
Resolution: --- → FIXED
Reporter | ||
Comment 4•13 years ago
|
||
QA verified fixed on stage - thank you everyone who took part in remedying this. As I understand the problem was the groups_language table was MyISAM which doesn't support foreign key constraints. The fix was simple - specify InnoDB instead.
Cowboy is once again recognized as a proper language by the Mozilla community ;-)
Status: RESOLVED → VERIFIED
You need to log in
before you can comment on or make changes to this bug.
Description
•