Uploaded image for project: 'Moodle'
  1. Moodle
  2. MDL-34172

Cannot restore a 2.2 backup into 2.2 or 2.3: fails with define_restore_log_rules() method needs to be overridden in each subclass of restore_activity_task

XMLWordPrintable

    • MySQL
    • MOODLE_22_STABLE, MOODLE_23_STABLE, MOODLE_24_STABLE, MOODLE_25_STABLE
    • Hide

      For Moodle 2.2 and 2.3: Do not backup logs.
      For Moodle 2.4 I have not yet found a workaround.

      Show
      For Moodle 2.2 and 2.3: Do not backup logs. For Moodle 2.4 I have not yet found a workaround.
    • Hide

      Within Moodle 2.2, 2.3 or 2.4, backup a course with all settings switched on (however 'Include Logs' is the important setting).
      Restore the backed up course into a new course.

      Show
      Within Moodle 2.2, 2.3 or 2.4, backup a course with all settings switched on (however 'Include Logs' is the important setting). Restore the backed up course into a new course.

      We run automated bacups twice per week, with all options set to 'on'. When attempting to restore a course backed up yesterday, the restore process fails with the following stack trace:

      Coding error detected, it must be fixed by a programmer: define_restore_log_rules() method needs to be overridden in each subclass of restore_activity_task

      Stack trace:

      line 250 of /backup/moodle2/restore_activity_task.class.php: coding_exception thrown
      line ? of unknownfile: call to restore_activity_task->define_restore_log_rules()
      line 50 of /backup/util/helper/restore_logs_processor.class.php: call to call_user_func()
      line 73 of /backup/util/helper/restore_logs_processor.class.php: call to restore_logs_processor->__construct()
      line 1934 of /backup/moodle2/restore_stepslib.php: call to restore_logs_processor::get_instance()
      line 131 of /backup/util/plan/restore_structure_step.class.php: call to restore_activity_logs_structure_step->process_log()
      line 103 of /backup/util/helper/restore_structure_parser_processor.class.php: call to restore_structure_step->process()
      line 125 of /backup/util/xml/parser/processors/grouped_parser_processor.class.php: call to restore_structure_parser_processor->dispatch_chunk()
      line 91 of /backup/util/helper/restore_structure_parser_processor.class.php: call to grouped_parser_processor->postprocess_chunk()
      line 148 of /backup/util/xml/parser/processors/simplified_parser_processor.class.php: call to restore_structure_parser_processor->postprocess_chunk()
      line 92 of /backup/util/xml/parser/processors/progressive_parser_processor.class.php: call to simplified_parser_processor->process_chunk()
      line 169 of /backup/util/xml/parser/progressive_parser.class.php: call to progressive_parser_processor->receive_chunk()
      line 253 of /backup/util/xml/parser/progressive_parser.class.php: call to progressive_parser->publish()
      line ? of unknownfile: call to progressive_parser->end_tag()
      line 158 of /backup/util/xml/parser/progressive_parser.class.php: call to xml_parse()
      line 137 of /backup/util/xml/parser/progressive_parser.class.php: call to progressive_parser->parse()
      line 105 of /backup/util/plan/restore_structure_step.class.php: call to progressive_parser->process()
      line 153 of /backup/util/plan/base_task.class.php: call to restore_structure_step->execute()
      line 182 of /backup/moodle2/restore_activity_task.class.php: call to base_task->execute()
      line 148 of /backup/util/plan/base_plan.class.php: call to restore_activity_task->execute()
      line 157 of /backup/util/plan/restore_plan.class.php: call to base_plan->execute()
      line 310 of /backup/controller/restore_controller.class.php: call to restore_plan->execute()
      line 147 of /backup/util/ui/restore_ui.class.php: call to restore_controller->execute_plan()
      line 46 of /backup/restore.php: call to restore_ui->execute()

      Output buffer: [empty]

      When a user attempted to access the course, she was met with the following error:

      You are trying to use an invalid course ID: ({$a})

      More information about this error
      Stack trace:

      line 435 of /lib/setuplib.php: moodle_exception thrown
      line 35 of /course/view.php: call to print_error()

      ..which is no real surprise if the restore process failed.

      *When a course is backed up with "Include Logs" turned off, the course restores without errors.*

      There is a short conversation about this in the Moodle forums (http://moodle.org/mod/forum/discuss.php?d=199562) but no specific Tracker entry. I'll link to the two potentially-related issues (I say potential as they have no real description).

            danmarsden Dan Marsden
            vaughany Paul Vaughan (Inactive)
            Votes:
            11 Vote for this issue
            Watchers:
            17 Start watching this issue

              Created:
              Updated:
              Resolved:

                Error rendering 'clockify-timesheets-time-tracking-reports:timer-sidebar'. Please contact your Jira administrators.