Closed Bug 1154332 Opened 9 years ago Closed 9 years ago

[django 1.7] mysql goes away during test suite teardown.

Categories

(support.mozilla.org :: General, defect, P3)

defect

Tracking

(Not tracked)

RESOLVED FIXED
2015Q2

People

(Reporter: rrosario, Assigned: willkg)

References

Details

(Whiteboard: u=dev c=general p=2 s=2015.7)

Rob Hudson is having the same issue on zamboni/marketplace.

It only happens on travis and Mike's machine so far. Rob and I can't repro locally on our MBPs.

Here is the traceback:

Ran 1753 tests in 295.540s

OK

Destroying test database for alias 'default'...

Traceback (most recent call last):

  File "manage.py", line 21, in <module>

    execute_from_command_line(sys.argv)

  File "/home/travis/virtualenv/python2.7.9/lib/python2.7/site-packages/django/core/management/__init__.py", line 385, in execute_from_command_line

    utility.execute()

  File "/home/travis/virtualenv/python2.7.9/lib/python2.7/site-packages/django/core/management/__init__.py", line 377, in execute

    self.fetch_command(subcommand).run_from_argv(self.argv)

  File "/home/travis/virtualenv/python2.7.9/lib/python2.7/site-packages/django/core/management/commands/test.py", line 50, in run_from_argv

    super(Command, self).run_from_argv(argv)

  File "/home/travis/virtualenv/python2.7.9/lib/python2.7/site-packages/django/core/management/base.py", line 288, in run_from_argv

    self.execute(*args, **options.__dict__)

  File "/home/travis/virtualenv/python2.7.9/lib/python2.7/site-packages/django/core/management/commands/test.py", line 71, in execute

    super(Command, self).execute(*args, **options)

  File "/home/travis/virtualenv/python2.7.9/lib/python2.7/site-packages/django/core/management/base.py", line 338, in execute

    output = self.handle(*args, **options)

  File "/home/travis/virtualenv/python2.7.9/lib/python2.7/site-packages/django/core/management/commands/test.py", line 88, in handle

    failures = test_runner.run_tests(test_labels)

  File "/home/travis/virtualenv/python2.7.9/lib/python2.7/site-packages/django_nose/runner.py", line 218, in run_tests

    result = self.run_suite(nose_argv)

  File "/home/travis/virtualenv/python2.7.9/lib/python2.7/site-packages/django_nose/runner.py", line 165, in run_suite

    addplugins=plugins_to_add)

  File "/home/travis/virtualenv/python2.7.9/lib/python2.7/site-packages/nose/core.py", line 118, in __init__

    **extra_args)

  File "/opt/python/2.7.9/lib/python2.7/unittest/main.py", line 95, in __init__

    self.runTests()

  File "/home/travis/virtualenv/python2.7.9/lib/python2.7/site-packages/nose/core.py", line 197, in runTests

    result = self.testRunner.run(self.test)

  File "/home/travis/virtualenv/python2.7.9/lib/python2.7/site-packages/nose/core.py", line 65, in run

    self.config.plugins.finalize(result)

  File "/home/travis/virtualenv/python2.7.9/lib/python2.7/site-packages/nose/plugins/manager.py", line 94, in __call__

    return self.call(*arg, **kw)

  File "/home/travis/virtualenv/python2.7.9/lib/python2.7/site-packages/nose/plugins/manager.py", line 162, in simple

    result = meth(*arg, **kw)

  File "/home/travis/virtualenv/python2.7.9/lib/python2.7/site-packages/django_nose/plugin.py", line 81, in finalize

    self.runner.teardown_databases(self.old_names)

  File "/home/travis/virtualenv/python2.7.9/lib/python2.7/site-packages/django_nose/runner.py", line 407, in teardown_databases

    *args, **kwargs)

  File "/home/travis/virtualenv/python2.7.9/lib/python2.7/site-packages/django/test/runner.py", line 124, in teardown_databases

    connection.creation.destroy_test_db(old_name, self.verbosity)

  File "/home/travis/virtualenv/python2.7.9/lib/python2.7/site-packages/django/db/backends/creation.py", line 500, in destroy_test_db

    self._destroy_test_db(test_database_name, verbosity)

  File "/home/travis/virtualenv/python2.7.9/lib/python2.7/site-packages/django/db/backends/creation.py", line 514, in _destroy_test_db

    % self.connection.ops.quote_name(test_database_name))

  File "/home/travis/virtualenv/python2.7.9/lib/python2.7/site-packages/django/db/backends/utils.py", line 65, in execute

    return self.cursor.execute(sql, params)

  File "/home/travis/virtualenv/python2.7.9/lib/python2.7/site-packages/django/db/utils.py", line 94, in __exit__

    six.reraise(dj_exc_type, dj_exc_value, traceback)

  File "/home/travis/virtualenv/python2.7.9/lib/python2.7/site-packages/django/db/backends/utils.py", line 63, in execute

    return self.cursor.execute(sql)

  File "/home/travis/virtualenv/python2.7.9/lib/python2.7/site-packages/django/db/backends/mysql/base.py", line 129, in execute

    return self.cursor.execute(query, args)

  File "/home/travis/virtualenv/python2.7.9/lib/python2.7/site-packages/MySQLdb/cursors.py", line 173, in execute

    self.errorhandler(self, exc, value)

  File "/home/travis/virtualenv/python2.7.9/lib/python2.7/site-packages/MySQLdb/connections.py", line 36, in defaulterrorhandler

    raise errorclass, errorvalue

django.db.utils.OperationalError: (2006, 'MySQL server has gone away')


The django 1.7 pull request is here:
https://github.com/mozilla/kitsune/pull/2453
This is going to be exploratory and annoying. 2pts to look into this.
Whiteboard: u=dev c=general p=? s=2015.7 → u=dev c=general p=2 s=2015.7
Priority: -- → P3
Assignee: nobody → mcooper
Willkg did some awesome work this morning debugging this. We didn't figure out a real solution, but we did find out how to increase the timeouts so that our tests pass again. This has unblocked Django 1.7 work, so this bug is done.
Assignee: mcooper → willkg
Status: NEW → RESOLVED
Closed: 9 years ago
Resolution: --- → FIXED
:mythmon can you share a link to a commit?
Er, of course, sorry. https://github.com/rlr/kitsune/commit/a766b46b377d30bf2205400b12a0133fd0841d3a

It hasn't been merged yet, as we've hit other problems. That commit might go away. If it does, I'll update with the final one.
You need to log in before you can comment on or make changes to this bug.