Moodle
  1. Moodle
  2. MDL-27368

course completion causes cron failure

    Details

    • Testing Instructions:
      Hide

      This can only really be tested by a dev.

      Before running upgrade:

      1. In Admin > Advanced settings 'Enable completion tracking' set to on
      2. Create a course, set Completion tracking to enabled
      3. Enrol a student to course
      4. In Course > Admin > Completion settings enable manual self compltion
      5. Add the self completion block in the course
      6. As student go to the course and mark it as complete with the block
      7. Create a junk record in the db with the same userid and course, e.g. INSERT INTO course_completions (userid, course) values (21, 2)

      Run the upgrade..

      1. Verify that the duplicate records are removed form db.
      Show
      This can only really be tested by a dev. Before running upgrade: In Admin > Advanced settings 'Enable completion tracking' set to on Create a course, set Completion tracking to enabled Enrol a student to course In Course > Admin > Completion settings enable manual self compltion Add the self completion block in the course As student go to the course and mark it as complete with the block Create a junk record in the db with the same userid and course, e.g. INSERT INTO course_completions (userid, course) values (21, 2) Run the upgrade.. Verify that the duplicate records are removed form db.
    • Affected Branches:
      MOODLE_20_STABLE, MOODLE_21_STABLE, MOODLE_22_STABLE
    • Fixed Branches:
      MOODLE_21_STABLE, MOODLE_22_STABLE
    • Pull Master Branch:
      master_MDL-27368
    • Rank:
      17061

      Description

      It is also crashes cron with a 'more than one fetch' error.

        Issue Links

          Activity

          Hide
          Michael Blake added a comment -

          This issue has been reported as affecting a MP client, however they have said it is not a high priority.

          Show
          Michael Blake added a comment - This issue has been reported as affecting a MP client, however they have said it is not a high priority.
          Hide
          Howard Miller added a comment -

          I've got another MP client very unhappy about this. I would appreciate if it could be given some priority. It's incredibly confusing to users.

          Show
          Howard Miller added a comment - I've got another MP client very unhappy about this. I would appreciate if it could be given some priority. It's incredibly confusing to users.
          Hide
          Helen Foster added a comment -

          Just adding a link to a forum discussion about this issue - http://moodle.org/mod/forum/discuss.php?d=184602 - and hoping it can be fixed soon.

          Show
          Helen Foster added a comment - Just adding a link to a forum discussion about this issue - http://moodle.org/mod/forum/discuss.php?d=184602 - and hoping it can be fixed soon.
          Hide
          Eric Mispelbaum added a comment -

          We have the same problem here. Can't really use this nice feature as it's confusing the users. Hope you find a fix soon Because it's very useful! Thx

          Show
          Eric Mispelbaum added a comment - We have the same problem here. Can't really use this nice feature as it's confusing the users. Hope you find a fix soon Because it's very useful! Thx
          Hide
          Chris Collman added a comment - - edited

          Just had one of my Moodle 2.1.2+ (Build: 20111019) servers give a !!! Found more than one record in fetch() ! !!! and then it hangs. We use activity completion. Sam seem to indicate that ac did not need cron.

          http://moodle.org/mod/forum/view.php?id=4295 in Conditional Activities search for cron, I see "Activity completion crashes cron" and "Cron job inconsistency..."

          This is not an improvement but a serious bug because it crashes the Moodle cron process.

          Chris

          Show
          Chris Collman added a comment - - edited Just had one of my Moodle 2.1.2+ (Build: 20111019) servers give a !!! Found more than one record in fetch() ! !!! and then it hangs. We use activity completion. Sam seem to indicate that ac did not need cron. http://moodle.org/mod/forum/view.php?id=4295 in Conditional Activities search for cron, I see "Activity completion crashes cron" and "Cron job inconsistency..." This is not an improvement but a serious bug because it crashes the Moodle cron process. Chris
          Hide
          Chris Collman added a comment -

          I turned on DEV debug messages. The admin/cron.php gave me this
          Starting the completion cron...
          Marking users as started
          Running completion_criteria_date->cron()
          Running completion_criteria_activity->cron()
          Running completion_criteria_duration->cron()
          Running completion_criteria_grade->cron()
          Running completion_criteria_course->cron()
          Aggregating completions
          Aggregating completions for user 10 in course 4
          !!! Found more than one record in fetch() ! !!!
          !! Stack trace: * line 429 of /lib/setuplib.php: moodle_exception thrown

          • line 130 of /lib/completion/data_object.php: call to print_error()
          • line 83 of /lib/completion/completion_aggregation.php: call to data_object::fetch_helper()
          • line 65 of /lib/completion/data_object.php: call to completion_aggregation::fetch()
          • line 374 of /lib/completionlib.php: call to data_object->__construct()
          • line 308 of /lib/completion/cron.php: call to completion_info->get_aggregation_method()
          • line 45 of /lib/completion/cron.php: call to completion_cron_completions()
          • line 173 of /lib/cronlib.php: call to completion_cron()
          • line 85 of /admin/cron.php: call to cron_run()

          Hope this helps Chris

          Show
          Chris Collman added a comment - I turned on DEV debug messages. The admin/cron.php gave me this Starting the completion cron... Marking users as started Running completion_criteria_date->cron() Running completion_criteria_activity->cron() Running completion_criteria_duration->cron() Running completion_criteria_grade->cron() Running completion_criteria_course->cron() Aggregating completions Aggregating completions for user 10 in course 4 !!! Found more than one record in fetch() ! !!! !! Stack trace: * line 429 of /lib/setuplib.php: moodle_exception thrown line 130 of /lib/completion/data_object.php: call to print_error() line 83 of /lib/completion/completion_aggregation.php: call to data_object::fetch_helper() line 65 of /lib/completion/data_object.php: call to completion_aggregation::fetch() line 374 of /lib/completionlib.php: call to data_object->__construct() line 308 of /lib/completion/cron.php: call to completion_info->get_aggregation_method() line 45 of /lib/completion/cron.php: call to completion_cron_completions() line 173 of /lib/cronlib.php: call to completion_cron() line 85 of /admin/cron.php: call to cron_run() Hope this helps Chris
          Hide
          Ann Morgan added a comment -

          As a teacher, this is one of the most exciting new features of Moodle 2.1! I was disappointed when it wasn't addressed with the latest version ... been waiting ... now I am encouraged to at least see others are experiencing what we did. I am very anxious to get this bug fixed!

          Show
          Ann Morgan added a comment - As a teacher, this is one of the most exciting new features of Moodle 2.1! I was disappointed when it wasn't addressed with the latest version ... been waiting ... now I am encouraged to at least see others are experiencing what we did. I am very anxious to get this bug fixed!
          Hide
          Chris Collman added a comment -

          If we only use activity completion and do not want to use the block, can we remark off
          the completion cron section in lib/cronlib.php (around line 169-175 The report/block will not update but I don't care because we do not use course completion

          Show
          Chris Collman added a comment - If we only use activity completion and do not want to use the block, can we remark off the completion cron section in lib/cronlib.php (around line 169-175 The report/block will not update but I don't care because we do not use course completion
          Hide
          Aaron Barnes added a comment -

          I'd be interesting in hearing your plans for achieving this Aparup

          Show
          Aaron Barnes added a comment - I'd be interesting in hearing your plans for achieving this Aparup
          Hide
          Guido Hornig added a comment -

          same problem in 2.1.3+ (Build: 20111209)

          Show
          Guido Hornig added a comment - same problem in 2.1.3+ (Build: 20111209)
          Hide
          Helen Foster added a comment -

          Guido, thanks for your feedback. Adding 2.1.3 as an affected version.

          Show
          Helen Foster added a comment - Guido, thanks for your feedback. Adding 2.1.3 as an affected version.
          Hide
          Leah Hemeon added a comment -

          Hi there,
          I just had this in 2.2.1+ (Build: 20120109)

          This is what info I have on debugging:
          Stack trace:

          line 435 of /lib/setuplib.php: moodle_exception thrown
          line 130 of /lib/completion/data_object.php: call to print_error()
          line 118 of /lib/completion/completion_completion.php: call to data_object::fetch_helper()
          line 65 of /lib/completion/data_object.php: call to completion_completion::fetch()
          line 423 of /lib/completionlib.php: call to data_object->__construct()
          line 851 of /course/lib.php: call to completion_info->is_course_complete()
          line 107 of /blocks/course_overview/block_course_overview.php: call to print_overview()
          line 280 of /blocks/moodleblock.class.php: call to block_course_overview->get_content()
          line 232 of /blocks/moodleblock.class.php: call to block_base->formatted_contents()
          line 926 of /lib/blocklib.php: call to block_base->get_content_for_output()
          line 978 of /lib/blocklib.php: call to block_manager->create_block_contents()
          line 311 of /lib/blocklib.php: call to block_manager->ensure_content_created()
          line 957 of /lib/outputrenderers.php: call to block_manager->get_content_for_region()
          line 148 of /my/index.php: call to core_renderer->blocks_for_region()

          Show
          Leah Hemeon added a comment - Hi there, I just had this in 2.2.1+ (Build: 20120109) This is what info I have on debugging: Stack trace: line 435 of /lib/setuplib.php: moodle_exception thrown line 130 of /lib/completion/data_object.php: call to print_error() line 118 of /lib/completion/completion_completion.php: call to data_object::fetch_helper() line 65 of /lib/completion/data_object.php: call to completion_completion::fetch() line 423 of /lib/completionlib.php: call to data_object->__construct() line 851 of /course/lib.php: call to completion_info->is_course_complete() line 107 of /blocks/course_overview/block_course_overview.php: call to print_overview() line 280 of /blocks/moodleblock.class.php: call to block_course_overview->get_content() line 232 of /blocks/moodleblock.class.php: call to block_base->formatted_contents() line 926 of /lib/blocklib.php: call to block_base->get_content_for_output() line 978 of /lib/blocklib.php: call to block_manager->create_block_contents() line 311 of /lib/blocklib.php: call to block_manager->ensure_content_created() line 957 of /lib/outputrenderers.php: call to block_manager->get_content_for_region() line 148 of /my/index.php: call to core_renderer->blocks_for_region()
          Hide
          Michael de Raadt added a comment -

          Carrying over to new sprint.

          Show
          Michael de Raadt added a comment - Carrying over to new sprint.
          Hide
          Dan Marsden added a comment -

          This tracker issue is actually 2 issues so I've modified the title/decription to be the "bug" which causes cron to give fatal error.

          I have created MDL-32103 for the "improvement/feature request" to move completion out of the cron.

          I think I've found the "cause" of the fatal error - see MDL-32102 for info - I'll tidy up that patch, test it and push to integration.

          To fix this bug (MDL-27368) after MDL-32012 is fixed we should have a clean up script that checks for all invalid records in the course_completions and removes them.

          Those that have "voted" here for the "feature" and not the bug should transfer their vote to the new tracker issue MDL-32103. Thanks!

          Show
          Dan Marsden added a comment - This tracker issue is actually 2 issues so I've modified the title/decription to be the "bug" which causes cron to give fatal error. I have created MDL-32103 for the "improvement/feature request" to move completion out of the cron. I think I've found the "cause" of the fatal error - see MDL-32102 for info - I'll tidy up that patch, test it and push to integration. To fix this bug ( MDL-27368 ) after MDL-32012 is fixed we should have a clean up script that checks for all invalid records in the course_completions and removes them. Those that have "voted" here for the "feature" and not the bug should transfer their vote to the new tracker issue MDL-32103 . Thanks!
          Hide
          Evan Irving-Pease added a comment -

          Hi Dan, might it not have been more appropriate to make the bug a separate ticket considering that most people who voted for this were likely to have done so based on the name of the ticket "Move Course Completion out of the cron" rather than less visible comments about a separate bug causing a cron error.

          Show
          Evan Irving-Pease added a comment - Hi Dan, might it not have been more appropriate to make the bug a separate ticket considering that most people who voted for this were likely to have done so based on the name of the ticket "Move Course Completion out of the cron" rather than less visible comments about a separate bug causing a cron error.
          Hide
          Dan Marsden added a comment -

          NOTE - this patch just cleans up the bad data - MDL-32102 must be pushed first.

          Show
          Dan Marsden added a comment - NOTE - this patch just cleans up the bad data - MDL-32102 must be pushed first.
          Hide
          Dan Marsden added a comment -

          Hi Evan - unfortunately it's hard to distinguish which votes are for each item - better to create a new tracker issue IMO - as this one will be closed/fixed in the next week or so (I've missed this weeks integration) - doesn't take much for people to login and hit the "vote" button..

          in any case the new bug is assigned to the current sprint so it's already high on HQ's radar.

          Show
          Dan Marsden added a comment - Hi Evan - unfortunately it's hard to distinguish which votes are for each item - better to create a new tracker issue IMO - as this one will be closed/fixed in the next week or so (I've missed this weeks integration) - doesn't take much for people to login and hit the "vote" button.. in any case the new bug is assigned to the current sprint so it's already high on HQ's radar.
          Hide
          Dan Marsden added a comment -

          ..we'll just blame Chris for the confusion!

          Show
          Dan Marsden added a comment - ..we'll just blame Chris for the confusion!
          Hide
          Andrew Davis added a comment -

          The cleanup upgrade code looks fine.

          Is there any chance that duplicate course completion records could be marked as deleted, be ignored by this cleanup code then somehow cause a problem later?

          Show
          Andrew Davis added a comment - The cleanup upgrade code looks fine. Is there any chance that duplicate course completion records could be marked as deleted, be ignored by this cleanup code then somehow cause a problem later?
          Hide
          Dan Marsden added a comment -

          I guess I'm not the right person to ask on that - I'm not really sure when a completion record is flagged as deleted - if you are resetting course completion settings in a course and hit the button to clear completion records it deletes the records completely - what process flags the records as deleted?

          Show
          Dan Marsden added a comment - I guess I'm not the right person to ask on that - I'm not really sure when a completion record is flagged as deleted - if you are resetting course completion settings in a course and hit the button to clear completion records it deletes the records completely - what process flags the records as deleted?
          Hide
          Andrew Davis added a comment -

          Im not sure. Is there a reason (other than maybe performance) to exclude records marked as deleted from the clean up process? Maybe we just run all records through the clean up...

          Show
          Andrew Davis added a comment - Im not sure. Is there a reason (other than maybe performance) to exclude records marked as deleted from the clean up process? Maybe we just run all records through the clean up...
          Hide
          Dan Marsden added a comment -

          well - the check for duplicate deleted course completion records is quite different to the check for "valid" course completion records so IMO if that's an issue it should be a separate patch.

          there must only be one valid completion record for a user/course but there can be multiple deleted records for a user/course with different fields.

          Show
          Dan Marsden added a comment - well - the check for duplicate deleted course completion records is quite different to the check for "valid" course completion records so IMO if that's an issue it should be a separate patch. there must only be one valid completion record for a user/course but there can be multiple deleted records for a user/course with different fields.
          Hide
          Andrew Davis added a comment -

          "but there can be multiple deleted records for a user/course with different fields."

          slaps forehead Duh, of course. Ignore me. Submit for integration whenever you're ready

          Show
          Andrew Davis added a comment - "but there can be multiple deleted records for a user/course with different fields." slaps forehead Duh, of course. Ignore me. Submit for integration whenever you're ready
          Hide
          Gisele Brugger added a comment -

          my debug in /admin/cron.php

          Default exception handler: Encontrado mais de um registro no fetch() ! Debug:

          • line 435 of \lib\setuplib.php: moodle_exception thrown
          • line 130 of \lib\completion\data_object.php: call to print_error()
          • line 118 of \lib\completion\completion_completion.php: call to data_object::fetch_helper()
          • line 65 of \lib\completion\data_object.php: call to completion_completion::fetch()
          • line 360 of \lib\completion\cron.php: call to data_object->__construct()
          • line 45 of \lib\completion\cron.php: call to completion_cron_completions()
          • line 322 of \lib\cronlib.php: call to completion_cron()
          • line 85 of \admin\cron.php: call to cron_run()
          Show
          Gisele Brugger added a comment - my debug in /admin/cron.php Default exception handler: Encontrado mais de um registro no fetch() ! Debug: line 435 of \lib\setuplib.php: moodle_exception thrown line 130 of \lib\completion\data_object.php: call to print_error() line 118 of \lib\completion\completion_completion.php: call to data_object::fetch_helper() line 65 of \lib\completion\data_object.php: call to completion_completion::fetch() line 360 of \lib\completion\cron.php: call to data_object->__construct() line 45 of \lib\completion\cron.php: call to completion_cron_completions() line 322 of \lib\cronlib.php: call to completion_cron() line 85 of \admin\cron.php: call to cron_run()
          Hide
          Valdi Tutunji added a comment -

          Default exception handler: Encontrado mais de um registro no fetch() ! Debug: * line 435 of \lib\setuplib.php: moodle_exception thrown * line 130 of \lib\completion\data_object.php: call to print_error() * line 118 of \lib\completion\completion_completion.php: call to data_object::fetch_helper() * line 65 of \lib\completion\data_object.php: call to completion_completion::fetch() * line 360 of \lib\completion\cron.php: call to data_object->__construct() * line 45 of \lib\completion\cron.php: call to completion_cron_completions() * line 322 of \lib\cronlib.php: call to completion_cron() * line 85 of \admin\cron.php: call to cron_run()

          Show
          Valdi Tutunji added a comment - Default exception handler: Encontrado mais de um registro no fetch() ! Debug: * line 435 of \lib\setuplib.php: moodle_exception thrown * line 130 of \lib\completion\data_object.php: call to print_error() * line 118 of \lib\completion\completion_completion.php: call to data_object::fetch_helper() * line 65 of \lib\completion\data_object.php: call to completion_completion::fetch() * line 360 of \lib\completion\cron.php: call to data_object->__construct() * line 45 of \lib\completion\cron.php: call to completion_cron_completions() * line 322 of \lib\cronlib.php: call to completion_cron() * line 85 of \admin\cron.php: call to cron_run()
          Hide
          Dan Marsden added a comment -

          NOTE TO INTEGRATOR: - to help avoid conflicts the master patch doesn't include a version change - I presume that will happen automatically.

          Show
          Dan Marsden added a comment - NOTE TO INTEGRATOR: - to help avoid conflicts the master patch doesn't include a version change - I presume that will happen automatically.
          Hide
          Dan Marsden added a comment -

          just had a chat with Aaron about this - sounds like it's better to always use the oldest var for timecompleted, timestarted, timeenrolled so I've pushed a slight change that finds the oldest of these fields and merges into the single record that is kept.

          Show
          Dan Marsden added a comment - just had a chat with Aaron about this - sounds like it's better to always use the oldest var for timecompleted, timestarted, timeenrolled so I've pushed a slight change that finds the oldest of these fields and merges into the single record that is kept.
          Hide
          Dan Poltawski added a comment -

          Hi Dan,

          Like on MDL-32119 this upgrade SQL check is missing check for null values on the deleted column and so on my oracle/postgres test installs this wasn't detecting all duplicates.

          cheers,
          dan

          Show
          Dan Poltawski added a comment - Hi Dan, Like on MDL-32119 this upgrade SQL check is missing check for null values on the deleted column and so on my oracle/postgres test installs this wasn't detecting all duplicates. cheers, dan
          Hide
          Dan Marsden added a comment -

          grr... good spotting - thanks Dan, fixed.

          Show
          Dan Marsden added a comment - grr... good spotting - thanks Dan, fixed.
          Hide
          Dan Poltawski added a comment -

          This looks good, but can't be integrated until MDL-32102.

          Show
          Dan Poltawski added a comment - This looks good, but can't be integrated until MDL-32102 .
          Hide
          Dan Marsden added a comment -

          In fact - I'd delay this until after MDL-32203 is fixed too - My vote to delay this a week so it doesn't hold up the integration.

          Show
          Dan Marsden added a comment - In fact - I'd delay this until after MDL-32203 is fixed too - My vote to delay this a week so it doesn't hold up the integration.
          Hide
          Ryan Smith added a comment -

          Any update on this? It looks like the fixes from MDL-32102 and MDL-32203 have been integrated into this week's Moodle 2.2 update.

          I updated, turned completion back on and ran cron. Cron still abruptly stops with this error:

          Starting the completion cron...
          !!! Coding error detected, it must be fixed by a programmer: data_object params should be in the form of an array, not an object !!!

          Show
          Ryan Smith added a comment - Any update on this? It looks like the fixes from MDL-32102 and MDL-32203 have been integrated into this week's Moodle 2.2 update. I updated, turned completion back on and ran cron. Cron still abruptly stops with this error: Starting the completion cron... !!! Coding error detected, it must be fixed by a programmer: data_object params should be in the form of an array, not an object !!!
          Hide
          Dan Poltawski added a comment -

          Ryan: we were waiting on those issues. I'm pushing for integration now

          Show
          Dan Poltawski added a comment - Ryan: we were waiting on those issues. I'm pushing for integration now
          Hide
          Ryan Smith added a comment -

          Great! Hopefully this one doesn't get ignored on integration for weeks like MDL-32203 did

          Show
          Ryan Smith added a comment - Great! Hopefully this one doesn't get ignored on integration for weeks like MDL-32203 did
          Hide
          Dan Marsden added a comment -

          rebased.

          Show
          Dan Marsden added a comment - rebased.
          Hide
          Dan Poltawski added a comment -

          I'm testing this on oracle and getting some strange results. The query generated appears to return results, but i'm never getting in the inner loop. Curious.

          Show
          Dan Poltawski added a comment - I'm testing this on oracle and getting some strange results. The query generated appears to return results, but i'm never getting in the inner loop. Curious.
          Hide
          Dan Poltawski added a comment -

          Doh, my fault! Turns out the manual sql statement wasn't commited till I exited the console!

          Show
          Dan Poltawski added a comment - Doh, my fault! Turns out the manual sql statement wasn't commited till I exited the console!
          Hide
          Dan Poltawski added a comment -

          Thanks Dan, i've integrated this now.

          Note to testers: Its important we test this on all dbs. I have tested on oracle.

          Show
          Dan Poltawski added a comment - Thanks Dan, i've integrated this now. Note to testers: Its important we test this on all dbs. I have tested on oracle.
          Hide
          Frédéric Massart added a comment - - edited

          Successfully tested on 2.1, 2.2 and master on PostgreSQL and 2.1, 2.2 and master on MySQL.

          Show
          Frédéric Massart added a comment - - edited Successfully tested on 2.1, 2.2 and master on PostgreSQL and 2.1, 2.2 and master on MySQL.
          Hide
          Kyle Egan added a comment - - edited

          I applied the patch to 2.2.3 on PostgreSQL and got the following error, when running the cron:

          ....
          Starting the completion cron...
          Marking users as started
          Running completion_criteria_date->cron()
          Running completion_criteria_activity->cron()
          <br />
          <b>Notice</b>: Use of undefined constant DATA_OBJECT_FETCH_BY_KEY - assumed 'DATA_OBJECT_FETCH_BY_KEY' in <b>C:\Program Files (x86)\Apache Software Foundation\Apache2.2\htdocs\moodle\lib\completion\completion_criteria_activity.php</b> on line <b>234</b><br />

          Show
          Kyle Egan added a comment - - edited I applied the patch to 2.2.3 on PostgreSQL and got the following error, when running the cron: .... Starting the completion cron... Marking users as started Running completion_criteria_date->cron() Running completion_criteria_activity->cron() <br /> <b>Notice</b>: Use of undefined constant DATA_OBJECT_FETCH_BY_KEY - assumed 'DATA_OBJECT_FETCH_BY_KEY' in <b>C:\Program Files (x86)\Apache Software Foundation\Apache2.2\htdocs\moodle\lib\completion\completion_criteria_activity.php</b> on line <b>234</b><br />
          Hide
          Dan Marsden added a comment -

          Hi Kyle,

          That is probably related to something else - this particular patch just tidies up the invalid records in the db and doesn't touch the completion cron stuff. I'd suggest you wait until the latest build is completed and try again with clean code - if you still experience the issue create a new tracker issue with the detail. - thanks!

          Show
          Dan Marsden added a comment - Hi Kyle, That is probably related to something else - this particular patch just tidies up the invalid records in the db and doesn't touch the completion cron stuff. I'd suggest you wait until the latest build is completed and try again with clean code - if you still experience the issue create a new tracker issue with the detail. - thanks!
          Hide
          Dan Poltawski added a comment -

          Congratulations!

          Your work has made into the latest Moodle release!

          You are only authorised to celebrate after testing 15 Moodle 2.3 QA tests, thanks!

          Show
          Dan Poltawski added a comment - Congratulations! Your work has made into the latest Moodle release! You are only authorised to celebrate after testing 15 Moodle 2.3 QA tests, thanks!
          Hide
          Leah Hemeon added a comment -

          Hi all,
          Side question - noticed that this isn't scheduled to be integrated into 2.2.2 or 2.2.3 - just wondering when 2.2.4 is scheduled for release? I want to make sure my next minor upgrade has this patch included. I know I can patch manually but I'd rather do it in a minor release.

          Thanks!

          Show
          Leah Hemeon added a comment - Hi all, Side question - noticed that this isn't scheduled to be integrated into 2.2.2 or 2.2.3 - just wondering when 2.2.4 is scheduled for release? I want to make sure my next minor upgrade has this patch included. I know I can patch manually but I'd rather do it in a minor release. Thanks!
          Hide
          Dan Marsden added a comment -

          Hi Leah, point releases come out every 2 months on Second Monday of January, March, May, July, September and November.
          more info here:
          http://docs.moodle.org/dev/Releases#General_release_calendar

          so I guess 2.2.4 should be pushed out on the 9th July

          Show
          Dan Marsden added a comment - Hi Leah, point releases come out every 2 months on Second Monday of January, March, May, July, September and November. more info here: http://docs.moodle.org/dev/Releases#General_release_calendar so I guess 2.2.4 should be pushed out on the 9th July
          Hide
          denis kravtsov added a comment -

          Hi Dan , i have updated our moodle to 2.2.4,the doubled entries was deleted from mdl_course_completions , the cron runs properly as report of course completion.
          but there are still doubled entries in mdl_course_completion_crit_compl, however these repeated entries don't make errors meanwhile. maybe it's our local issue, i don't know.what can you say?
          thanks.

          Show
          denis kravtsov added a comment - Hi Dan , i have updated our moodle to 2.2.4,the doubled entries was deleted from mdl_course_completions , the cron runs properly as report of course completion. but there are still doubled entries in mdl_course_completion_crit_compl, however these repeated entries don't make errors meanwhile. maybe it's our local issue, i don't know.what can you say? thanks.
          Hide
          Dan Marsden added a comment -

          Hi Denis - I haven't seen any issues around duplicate course_completion_crit_compl stuff before - possibly because it didn't generate any errors - it would be interesting to know if the newer code prevents further duplicates from being created. - Aaron might have more ideas?

          Show
          Dan Marsden added a comment - Hi Denis - I haven't seen any issues around duplicate course_completion_crit_compl stuff before - possibly because it didn't generate any errors - it would be interesting to know if the newer code prevents further duplicates from being created. - Aaron might have more ideas?
          Hide
          denis kravtsov added a comment -

          hi again, after few checks we found that course completion report still doesn't work. there is the same error: Found more than one record in fetch() . also we have problem with prerequisites. should i open a new issue? or can you redirect me to the right place. thanks.

          Show
          denis kravtsov added a comment - hi again, after few checks we found that course completion report still doesn't work. there is the same error: Found more than one record in fetch() . also we have problem with prerequisites. should i open a new issue? or can you redirect me to the right place. thanks.
          Hide
          Dan Marsden added a comment -

          Hi Denis,

          once a bug has been classed as fixed and a patch has made it into core for that bug it can't really be reopened as that causes confusion - but you can link to this bug in the new one.

          But... you haven't provided enough info to verify this as a bug. - you will need to try and trace where the duplicate records are being created - is it for different tables than we have run the clear duplicates code that was attached to this bug? - are "new" duplicates being created in the table or were they previously created with older code and we just need to clean up the duplicates again?

          You say you're having issues with prerequisites but you haven't specified what those issues are so I can't really redirect you anywhere!

          Show
          Dan Marsden added a comment - Hi Denis, once a bug has been classed as fixed and a patch has made it into core for that bug it can't really be reopened as that causes confusion - but you can link to this bug in the new one. But... you haven't provided enough info to verify this as a bug. - you will need to try and trace where the duplicate records are being created - is it for different tables than we have run the clear duplicates code that was attached to this bug? - are "new" duplicates being created in the table or were they previously created with older code and we just need to clean up the duplicates again? You say you're having issues with prerequisites but you haven't specified what those issues are so I can't really redirect you anywhere!

            People

            • Votes:
              27 Vote for this issue
              Watchers:
              21 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: