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

          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:
                22 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved:
                  Fix Release Date:
                  9/Jul/12