-
Notifications
You must be signed in to change notification settings - Fork 4.2k
Bump problem builder to v2.6.9. #14327
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Bump problem builder to v2.6.9. #14327
Conversation
|
Out of curiosity, why did you pin to a commit rather than a tag? Is there not a release with that commit in it in the other repo? |
|
@maxrothman Thanks for looking at this! I do plan to create a tag for it (and I'll update this PR when I do), but I would like to get open-craft/problem-builder#138 reviewed and merged before I do that, to avoid having to do a series of releases just to address any potential review comments. If you could take a look at open-craft/problem-builder#138, that would be great. |
45bb38d to
5dccd19
Compare
|
open-craft/problem-builder#138 has been merged and the |
|
👍
|
|
Thanks @bdero! @maxrothman Thanks for reviewing open-craft/problem-builder#138. That has now been merged, a new |
|
@cpennington FYI |
|
@jibsheet @maxrothman would you guys be able to give us an ETA for this PR's merge+migration? Anything else needed from us at this point? |
|
FYI @edx/devops and @cpennington there'll be some manual action required to fake the migration and run it in the background. See open-craft/problem-builder#138 for details. |
|
Also pinging @nedbat because this impacts people deploying the next named release |
|
I'll let you know when edX has done the migration work so this can be merged. |
|
@mtyaka Could you add a section to the Gingko wiki page detailing what will need to be done when installing this? https://openedx.atlassian.net/wiki/display/COMM/Gingko Thanks. |
|
|
Shouldn't affect Open edX. Problem Builder is in |
|
A couple of things:
|
|
@maxrothman Would you be able to tell us the week when this is scheduled specifically, so we can schedule it into a sprint on our side as well? I'll let @mtyaka answer about that shell script. |
|
@maxrothman Yes, we can add a django management command to perform the migration in batches. We'll schedule some time to do that with @bradenmacdonald. |
|
@mtyaka though I won't stop you from writing a management command, I'm fine if you just post some python in the PR 😄 @bradenmacdonald we do 2-week sprints. Our current sprint ends Friday and this story is schedule for 2 sprints from now, so sometime between 3-4 weeks from now, depending on other obligations. We'll let you know if the schedule changes. |
|
@maxrothman This PR adds the management command: open-craft/problem-builder#143 Do you want to take a look before I merge it? |
5dccd19 to
1098ac2
Compare
|
Rebased and updated to problem builder v.2.6.7, which contains the management command. |
|
@maxrothman It looks like this one got lost in a flux, sorry this is taking so long. I made a change in open-craft/problem-builder#145 to remove the |
1098ac2 to
4e9ea78
Compare
|
@maxrothman Thanks! open-craft/problem-builder#143 has been merged, new release created, and this PR updated to point to the new release. |
|
@jibsheet I heard Max left edX which is probably why this PR is left hanging. Can you please help us get this merged? The important thing is that the new problem-builder release contains a data migration which copies values of old course_id column to the new extended course_key column. Since the edX production To make copying easier, we prepared a management command, which performs copying in batches, with a configurable batch size and sleep time between batches. |
|
@mtyaka Yes, Max has moved on. I believe we have a ticket but not sure of scheduling. @fredsmith is our scrum master and @feanil is team lead, so they're best positioned to look at scheduling this work. |
|
@fredsmith @feanil Any idea when this can get scheduled? |
|
@mtyaka reviewing this again to gain context, a few questions/clarifications: The idea would be:
|
|
@feanil That's correct, with the exception of 3 (the migration that creates the new column was already deployed to production some time ago). The migration that created the new
|
|
@mtyaka @bradenmacdonald I'll be on-call next week and can Shepard through this change assuming we don't see other issues that prevent that. Can we have someone on your side get it to green before then? |
4e9ea78 to
f0b2a91
Compare
|
Thanks @feanil! We'll get it to green. |
|
@feanil Green and ready :) |
|
@mtyaka Unfortunately, the management is not being found when I go to run manage.py in our production system. I'm not sure what's going on there. I do see that the app is installed and the migrations are visible. I also tried to run the management command via django-shell but it seems to be hanging on something, It's not responding to Unfortunately I'm going to have to revert this for now. |
|
EdX Release Notice: This PR has been deployed to the staging environment in preparation for a release to production on Tuesday, June 27, 2017. |
|
EdX Release Notice: This PR has been deployed to the production environment. |
|
@bradenmacdonald when I tried to run the command, I got the same error as I would for a command that doesn't exist(standard django error, no other useful info). |
|
@feanil Hmm... that's weird. I'm not sure how that could happen. I'll try to reproduce. |
|
@feanil Sorry, I was trying to ask whether there was any output when you ran "the management command via django-shell" and had to kill it. The script should be producing regular output as it does each batch, so if it hung without producing any output, that would be quite strange. |
|
It seemed like it never got through the first batch. I tried making the batches smaller and printing more often and that seemed to have some effect but eventually it would lock up. |
|
@feanil While trying to reproduce the issues you encountered I initially ran into the same problem where the management command would not be found, but I later realized that I was trying to run I then tried to reproduce the second part of the problem where the command hangs. I suspected it could be due to a memory leak because I previously didn't test the command with a large number of items in the database. However after filling the database on my devstack with over 2 million rows, the management command was still working fine for me. The command would periodically print "Processed batch N" and the memory usage remained more or less constant while it worked through the batches. I am not sure how to debug this further without being able to reproduce the problem. Any ideas @feanil @bradenmacdonald? |
This is a follow-up to #14044, in which we fixed a bug that would cause problem-builder to fail in courses with long course keys (> 50 characters). Because the problem-builder xblock is used on edx.org and the affected production
problem_builder_answeris large, we had to do the migration to extend thecourse_keycolumn in two steps. For more info on that see https://github.com/edx/edx-platform/pull/14013.The new problem-builder removes the temporary transition code and includes a migration that copies over values from the old deprecated
course_idcolumn to the new extendedcourse_keycolumn.IMPORTANT: Before deploying v2.6.9 to production, edX will have to fake this migration and manually copy course_id values into course_key in batches because the production problem_builder_answer table is large and performing the migration in one go would degrade performance!
See the problem-builder PR included in the new release:
open-craft/problem-builder#138
Environments: edx.org and edge.edx.org
Partner information: hosted on edX Edge (Davidson College)
JIRA ticket: TNL-5932
Dependencies: open-craft/problem-builder#138
Testing instructions:
This patch should not change problem-builder functionality in any way. Verify that problem-builder still works correctly on the sandbox.
Sandbox:
Reviewers:
Settings