Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- %./noc unpickle /var/log/noc/crashinfo-dc49b15991f9aa469a615a71e0bb474191aba23b
- {'component': 'noc-scheduler',
- 'source': 'system',
- 'traceback': u'UNHANDLED EXCEPTION (2013-12-05 12:11:27.657852)\nWorking directory: /usr/local/noc\n<class \'django.db.utils.IntegrityError\'>\nupdate or delete on table "sa_reducetask" violates foreign key constraint "task_id_refs_id_193c71167fb7d148" on table "sa_maptask"\nDETAIL: Key (id)=(8740083) is still referenced from table "sa_maptask".\n\nSTART OF TRACEBACK\n------------------------------------------------------------------------\nFile: /usr/local/noc/lib/python2.7/site-packages/django/db/backends/postgresql_psycopg2/base.py (Line: 52)\nFunction: execute\n 45 """\n 46 \n 47 def __init__(self, cursor):\n 48 self.cursor = cursor\n 49 \n 50 def execute(self, query, args=None):\n 51 try:\n 52 ==> return self.cursor.execute(query, args)\n 53 except Database.IntegrityError, e:\n 54 raise utils.IntegrityError, utils.IntegrityError(*tuple(e)), sys.exc_info()[2]\n 55 except Database.DatabaseError, e:\n 56 raise utils.DatabaseError, utils.DatabaseError(*tuple(e)), sys.exc_info()[2]\n 57 \n 58 def executemany(self, query, args):\nVariables:\n query = \'DELETE FROM "sa_reducetask" WHERE "id" IN (%s)\'\n self = \n<django.db.backends.postgresql_psycopg2.base.CursorWrapper object at 0x80941c650>\n args = (8740083,)\n e = \nIntegrityError(\'update or delete on table "sa_reducetask" violates foreign key constraint "task_id_refs_id_193c71167fb7d148" on table "sa_maptask"\\nDETAIL: Key (id)=(8740083) is still referenced from table "sa_maptask".\\n\',)\n------------------------------------------------------------------------\nFile: /usr/local/noc/lib/python2.7/site-packages/django/db/models/sql/compiler.py (Line: 818)\nFunction: execute_sql\n 811 except EmptyResultSet:\n 812 if result_type == MULTI:\n 813 return empty_iter()\n 814 else:\n 815 return\n 816 \n 817 cursor = self.connection.cursor()\n 818 ==> cursor.execute(sql, params)\n 819 \n 820 if not result_type:\n 821 return cursor\n 822 if result_type == SINGLE:\n 823 if self.query.ordering_aliases:\n 824 return cursor.fetchone()[:-len(self.query.ordering_aliases)]\nVariables:\n cursor = <django.db.backends.util.CursorWrapper object at 0x80941c950>\n self = <django.db.models.sql.compiler.SQLDeleteCompiler object at 0x807aeaa50>\n params = (8740083,)\n result_type = None\n sql = \'DELETE FROM "sa_reducetask" WHERE "id" IN (%s)\'\n------------------------------------------------------------------------\nFile: /usr/local/noc/lib/python2.7/site-packages/django/db/models/sql/subqueries.py (Line: 29)\nFunction: do_query\n 22 """\n 23 \n 24 compiler = \'SQLDeleteCompiler\'\n 25 \n 26 def do_query(self, table, where, using):\n 27 self.tables = [table]\n 28 self.where = where\n 29 ==> self.get_compiler(using).execute_sql(None)\n 30 \n 31 def delete_batch(self, pk_list, using, field=None):\n 32 """\n 33 Set up and execute delete queries for all the objects in pk_list.\n 34 \n 35 More than one physical query may be executed if there are a\nVariables:\n using = \'default\'\n self = <django.db.models.sql.subqueries.DeleteQuery object at 0x807aeab10>\n where = <django.db.models.sql.where.WhereNode object at 0x807aeabd0>\n table = \'sa_reducetask\'\n------------------------------------------------------------------------\nFile: /usr/local/noc/lib/python2.7/site-packages/django/db/models/sql/subqueries.py (Line: 44)\nFunction: delete_batch\n 37 """\n 38 if not field:\n 39 field = self.model._meta.pk\n 40 for offset in range(0, len(pk_list), GET_ITERATOR_CHUNK_SIZE):\n 41 where = self.where_class()\n 42 where.add((Constraint(None, field.column, field), \'in\',\n 43 pk_list[offset:offset + GET_ITERATOR_CHUNK_SIZE]), AND)\n 44 ==> self.do_query(self.model._meta.db_table, where, using=using)\n 45 \n 46 class UpdateQuery(Query):\n 47 """\n 48 Represents an "update" SQL query.\n 49 """\n 50 \nVariables:\n self = <django.db.models.sql.subqueries.DeleteQuery object at 0x807aeab10>\n field = <django.db.models.fields.AutoField: id>\n pk_list = [8740083]\n offset = 0\n using = \'default\'\n where = <django.db.models.sql.where.WhereNode object at 0x807aeabd0>\n------------------------------------------------------------------------\nFile: /usr/local/noc/lib/python2.7/site-packages/django/db/models/deletion.py (Line: 263)\nFunction: delete\n 256 for field, instances in batches.iteritems():\n 257 query.delete_batch([obj.pk for obj in instances], self.using, field)\n 258 \n 259 # delete instances\n 260 for model, instances in self.data.iteritems():\n 261 query = sql.DeleteQuery(model)\n 262 pk_list = [obj.pk for obj in instances]\n 263 ==> query.delete_batch(pk_list, self.using)\n 264 \n 265 # send post_delete signals\n 266 for model, obj in self.instances_with_model():\n 267 if not model._meta.auto_created:\n 268 signals.post_delete.send(\n 269 sender=model, instance=obj, using=self.using\nVariables:\n obj = <ReduceTask: 8740083>\n self = <django.db.models.deletion.Collector object at 0x8011bca50>\n instances = [<ReduceTask: 8740083>]\n pk_list = [8740083]\n query = <django.db.models.sql.subqueries.DeleteQuery object at 0x807aeab10>\n model = <class \'noc.sa.models.reducetask.ReduceTask\'>\n------------------------------------------------------------------------\nFile: /usr/local/noc/lib/python2.7/site-packages/django/db/models/deletion.py (Line: 61)\nFunction: decorated\n 54 def decorated(self, *args, **kwargs):\n 55 if not transaction.is_managed(using=self.using):\n 56 transaction.enter_transaction_management(using=self.using)\n 57 forced_managed = True\n 58 else:\n 59 forced_managed = False\n 60 try:\n 61 ==> func(self, *args, **kwargs)\n 62 if forced_managed:\n 63 transaction.commit(using=self.using)\n 64 else:\n 65 transaction.commit_unless_managed(using=self.using)\n 66 finally:\n 67 if forced_managed:\nVariables:\n self = <django.db.models.deletion.Collector object at 0x8011bca50>\n kwargs = {}\n func = <function delete at 0x803d7f6e0>\n args = ()\n forced_managed = True\n------------------------------------------------------------------------\nFile: /usr/local/noc/lib/python2.7/site-packages/django/db/models/base.py (Line: 576)\nFunction: delete\n 569 \n 570 def delete(self, using=None):\n 571 using = using or router.db_for_write(self.__class__, instance=self)\n 572 assert self._get_pk_val() is not None, "%s object can\'t be deleted because its %s attribute is set to None." % (self._meta.object_name, self._meta.pk.attname)\n 573 \n 574 collector = Collector(using=using)\n 575 collector.collect([self])\n 576 ==> collector.delete()\n 577 \n 578 delete.alters_data = True\n 579 \n 580 def _get_FIELD_display(self, field):\n 581 value = getattr(self, field.attname)\n 582 return force_unicode(dict(field.flatchoices).get(value, value), strings_only=True)\nVariables:\n using = \'default\'\n self = <ReduceTask: 8740083>\n collector = <django.db.models.deletion.Collector object at 0x8011bca50>\n------------------------------------------------------------------------\nFile: /usr/local/noc/main/jobs/cleanup.py (Line: 41)\nFunction: cleanup_mrt\n 34 def cleanup_mrt(self):\n 35 """\n 36 Remove old map/reduce tasks\n 37 """\n 38 self.info("Cleanup map/reduce tasks")\n 39 watermark = datetime.datetime.now() - datetime.timedelta(days=1)\n 40 for t in ReduceTask.objects.filter(stop_time__lt=watermark):\n 41 ==> t.delete()\n 42 self.info("Map/Reduce tasks are cleaned")\n 43 self.info("Compacting MRT tables")\n 44 vacuum(ReduceTask._meta.db_table, analyze=True)\n 45 vacuum(MapTask._meta.db_table, analyze=True)\n 46 self.info("MRT Tables are compacted")\n 47 \nVariables:\n self = <noc.main.jobs.cleanup.CleanupJob object at 0x8096c4fd0>\n t = <ReduceTask: 8740083>\n watermark = datetime.datetime(2013, 12, 4, 12, 11, 27, 357452)\n------------------------------------------------------------------------\nFile: /usr/local/noc/main/jobs/cleanup.py (Line: 81)\nFunction: handler\n 74 d = datetime.datetime.now() - datetime.timedelta(days=7)\n 75 self.info("Cleaning failed scripts log")\n 76 FailedScriptLog.objects.filter(timestamp__lte=d).delete()\n 77 self.info("Failed scripts logs are cleaned")\n 78 \n 79 def handler(self, *args, **kwargs):\n 80 self.cleanup_expired_sessions()\n 81 ==> self.cleanup_mrt()\n 82 self.cleanup_empty_categories()\n 83 self.cleanup_failed_script_log()\n 84 return True\nVariables:\n self = <noc.main.jobs.cleanup.CleanupJob object at 0x8096c4fd0>\n args = ()\n kwargs = {}\n------------------------------------------------------------------------\nFile: /usr/local/noc/lib/scheduler/scheduler.py (Line: 255)\nFunction: _job_wrapper\n 248 t.start()\n 249 else:\n 250 return self._job_wrapper(job, **kwargs)\n 251 \n 252 def _job_wrapper(self, job, **kwargs):\n 253 tb = None\n 254 try:\n 255 ==> r = job.handler(**kwargs)\n 256 except Exception:\n 257 error_report()\n 258 job.on_exception()\n 259 s = job.S_EXCEPTION\n 260 tb = get_traceback()\n 261 else:\nVariables:\n job = <noc.main.jobs.cleanup.CleanupJob object at 0x8096c4fd0>\n tb = None\n self = <noc.main.scheduler.scheduler.JobScheduler object at 0x807acaa50>\n kwargs = {}\n------------------------------------------------------------------------\nEND OF TRACEBACK',
- 'ts': 1386238287,
- 'type': 'Unhandled Exception'}
- %
Advertisement
Add Comment
Please, Sign In to add comment