Uploaded image for project: '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

      Description

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

        Gliffy Diagrams

          Attachments

            Issue Links

              Activity

              Hide
              mblake 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
              mblake 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
              howardsmiller 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
              howardsmiller 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
              tsala 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
              tsala 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
              e.mispelbaum 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
              e.mispelbaum 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
              rcollman 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
              rcollman 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
              rcollman 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
              rcollman 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
              amorgan 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
              amorgan 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
              rcollman 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
              rcollman 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
              sry_not4sale Aaron Barnes added a comment -

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

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

              same problem in 2.1.3+ (Build: 20111209)

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

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

              Show
              tsala Helen Foster added a comment - Guido, thanks for your feedback. Adding 2.1.3 as an affected version.
              Hide
              lhemeon 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
              lhemeon 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
              salvetore Michael de Raadt added a comment -

              Carrying over to new sprint.

              Show
              salvetore Michael de Raadt added a comment - Carrying over to new sprint.
              Hide
              danmarsden 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
              danmarsden 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
              evanirvingpease 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
              evanirvingpease 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
              danmarsden Dan Marsden added a comment -

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

              Show
              danmarsden Dan Marsden added a comment - NOTE - this patch just cleans up the bad data - MDL-32102 must be pushed first.
              Hide
              danmarsden 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
              danmarsden 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
              danmarsden Dan Marsden added a comment -

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

              Show
              danmarsden Dan Marsden added a comment - ..we'll just blame Chris for the confusion!
              Hide
              andyjdavis 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
              andyjdavis 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
              danmarsden 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
              danmarsden 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
              andyjdavis 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
              andyjdavis 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
              danmarsden 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
              danmarsden 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
              andyjdavis 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
              andyjdavis 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
              brugger 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
              brugger 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
              tutunji 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
              tutunji 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
              danmarsden 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
              danmarsden 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
              danmarsden 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
              danmarsden 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
              poltawski 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
              poltawski 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
              danmarsden Dan Marsden added a comment -

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

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

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

              Show
              poltawski Dan Poltawski added a comment - This looks good, but can't be integrated until MDL-32102 .
              Hide
              danmarsden 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
              danmarsden 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
              smithrn 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
              smithrn 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
              poltawski Dan Poltawski added a comment -

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

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

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

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

              rebased.

              Show
              danmarsden Dan Marsden added a comment - rebased.
              Hide
              poltawski 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
              poltawski 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
              poltawski Dan Poltawski added a comment -

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

              Show
              poltawski Dan Poltawski added a comment - Doh, my fault! Turns out the manual sql statement wasn't commited till I exited the console!
              Hide
              poltawski 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
              poltawski 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
              fred 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
              fred 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 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 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
              danmarsden 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
              danmarsden 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
              poltawski 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
              poltawski 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
              lhemeon 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
              lhemeon 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
              danmarsden 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
              danmarsden 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
              kineodenis 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
              kineodenis 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
              danmarsden 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
              danmarsden 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
              kineodenis 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
              kineodenis 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
              danmarsden 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
              danmarsden 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:
                    Fix Release Date:
                    9/Jul/12