Uploaded image for project: 'openATTIC'
  1. openATTIC
  2. OP-2780

Annotate LibradosProcess timeouts with the actual command that failed

    XMLWordPrintable

    Details

    • Sprint:
      Sprint 33

      Description

      Annotate LibradosProcess timeouts with the actual command that failed, because this error message doesn't tell, which command acutally failed

      Instead, this error message should be something like:

      Command pg dump timed out (30 seconds).

      Example Traceback:

      2017-10-10 12:10:25,178 24667 mod_wsgi ERROR exception#custom_handler - Internal Server Error: None
      Traceback (most recent call last):
        File "/usr/lib/python2.7/site-packages/rest_framework/views.py", line 400, in dispatch
          response = handler(request, *args, **kwargs)
        File "/usr/lib/python2.7/site-packages/rest_framework/mixins.py", line 92, in list
          page = self.paginate_queryset(self.object_list)
        File "/usr/lib/python2.7/site-packages/rest_framework/generics.py", line 158, in paginate_queryset
          page_number = paginator.validate_number(page)
        File "/usr/lib/python2.7/site-packages/django/core/paginator.py", line 39, in validate_number
          if number > self.num_pages:
        File "/usr/lib/python2.7/site-packages/django/core/paginator.py", line 86, in _get_num_pages
          if self.count == 0 and not self.allow_empty_first_page:
        File "/usr/lib/python2.7/site-packages/django/core/paginator.py", line 72, in _get_count
          self._count = self.object_list.count()
        File "/usr/share/openattic/nodb/models.py", line 202, in count
          return len(self._filtered_data)
        File "/usr/lib/python2.7/site-packages/django/utils/functional.py", line 49, in __get__
          res = instance.__dict__[self.func.__name__] = self.func(instance)
        File "/usr/share/openattic/nodb/models.py", line 164, in _filtered_data
          filtered = [obj for obj in self._data()
        File "/usr/share/openattic/nodb/models.py", line 93, in _data
          objects = self.model.get_all_objects(context, query=self._query)
        File "/usr/share/openattic/ceph/models.py", line 625, in get_all_objects
          pg_dump_data = api.pg_dump()['osd_stats']  # key=osd
        File "/usr/share/openattic/ceph/librados.py", line 1036, in pg_dump
          return self._call_mon_command('pg dump')
        File "/usr/share/openattic/ceph/librados.py", line 1054, in _call_mon_command
          timeout)
        File "/usr/share/openattic/ceph/librados.py", line 439, in call_librados
          return run_in_external_process(with_client, timeout)
        File "/usr/share/openattic/utilities.py", line 178, in run_in_external_process
          '({} sec).'.format(p.name, p.pid, timeout))
      ExternalCommandError: Process LibradosProcess-16 with ID 30884 terminated because of timeout (30 sec).
      

        Attachments

          Activity

            People

            • Assignee:
              tdehler Dehler, Tatjana
              Reporter:
              swagner Sebastian Wagner
            • Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: