-
Notifications
You must be signed in to change notification settings - Fork 4.2k
Bump problem-builder to v2.6.5 #14044
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
Conversation
8cc154a to
0f03d27
Compare
|
👍
|
|
@mtyaka , why are we changing the name of |
|
@adampalay We need two columns during the transition period. We can rename |
|
@mtyaka right, my thought was if we wanted to make a duplicate column, should we be more explicit about its name? Should we call it It's a nit, but that was my question. |
|
@adampalay Ah, I see. I did not plan to rename the column back to I we decide to rename the column back to |
|
I'm not entirely sure whether renaming a column in mysql results in a full column copy. If it does, we'd have to make the name of the new column semantic. Otherwise, I'd vote to rename it. You should be able to test which it is by making a big table, issuing the |
|
@mtyaka can you link to the relevant changes in the problem builder repo? |
|
@maxrothman Do you mean this: open-craft/problem-builder#131 ? |
|
Yep, thank you. |
|
@maxrothman I tried renaming a column with Thinking about it, renaming a column that is in use seems be a bit hard from operations perspective. At the moment that you run the migration, old code that is using the old column name stops working, so you would have to switch all servers to the new release immediately after running the migration or you will see errors in production. Is that a concern? Is there a common pattern for situations like this? |
|
Yeah, I think renaming the column in-place is infeasible. If we want the column to have the same name in the end, we'll have to repeat the whole process a second time, copying back to an identical column with the original name. |
|
Thanks for the confirmation @maxrothman. @adampalay Do you think it's worth the trouble of migrating the data twice to be able to end up with the same name ( |
|
@adampalay How would you like to proceed? |
|
@maxrothman @adampalay @mtyaka This issue is CAT-2 and is preventing some students from accessing some courses - we need to find a way forward ASAP. |
|
@mtyaka , my instinct is that it's not worth the trouble to keep the name. But we'd have to spread that information out to folks. Sorry for the delay; I was an an offsite that week and fell behind on emails. |
|
@maxrothman , may you please review? |
|
Whoops! I started a review on open-craft/problem-builder#131 but never submitted it. |
|
Thanks @maxrothman! I opened open-craft/problem-builder#136 to address your comment on open-craft/problem-builder#131. Can you please review? |
It includes support for course keys longer than 50 characters. See: open-craft/problem-builder#131
0f03d27 to
86177cb
Compare
|
@maxrothman I bumped the tag to Can you please approve this version bump if it looks good? |
|
Thank you. |
|
@mtyaka @adampalay @maxrothman I'm really glad to see this merged, and I know Davidson will be too. Can we do a hotfix for this? See request on TNL-5932. |
|
@bradenmacdonald we can probably cherry-pick this onto the RC. @sanfordstudent what's the best way for us to add this commit to the RC? Can you cherry-pick it directly, or should @mtyaka make a PR against |
|
A PR against release-candidate would be best. Will this change require any migrations? Thanks! |
|
@sanfordstudent , I'm afraid it would. @mtyaka , may you please make a new PR against |
|
PR against |
|
Sorry @mtyaka - after talking to devops we'd like this to go in as a hotfix instead of an update to the release candidate. |
|
@sanfordstudent No problem. Is there anything left for me to do or is it in your/edX hands now? |
|
@mtyaka @adampalay the hotfix process is documented here: https://openedx.atlassian.net/wiki/pages/viewpage.action?pageId=25559520 I don't believe that I am supposed to be the one to shepherd the hotfix through release, but please let me know if I'm wrong and I'll be happy to. |
|
@mtyaka , edx has it from here. @sanfordstudent , I'll check in with you offline about ushering it through! |
|
This PR is being deployed to edx.org Staging in preparation for a release to production on Monday, 12/19 at 10 am. If you feel you need to validate it manually, please do so by then, and contact me if there is an urgent enough issue to scrap the deployment. |
|
This PR is being deployed to edx.org Staging in preparation for a release to production on Tuesday, 12/20 at 10 am. If you feel you need to validate it manually, please do so by then, and contact me if there is an urgent enough issue to scrap the deployment. |
|
This PR has been deployed to edx.org Staging in preparation for a release to production on Wednesday, 12/21/16 at 10 am. If you feel you need to validate it manually, please do so by then, and contact me if there is an urgent enough issue to scrap the deployment. |
This patch fixes the problem where Problem Builder Long Answer blocks throw an error when used inside courses with long course keys (> 50 characters), see TNL-5932.
It introduces a new 255-char
course_keyfield to theAnswermodel. The old 50-charcourse_idfield is still present and used for fallback, but is deprecated and will be removed in next release.This release replaces the initial approach from https://github.com/edx/edx-platform/pull/14013, because it was found that simply extending the existing
course_idcolumn isn't going to work well in production because the table affected by the migration is quite large and extending column length requires locking the table for the duration of the migration.For more information on the new approach proposed by @maxrothman in https://github.com/edx/edx-platform/pull/14013#issuecomment-261635454, see open-craft/problem-builder#131.
Below is the output of
sqlmigratefor the new migration:Next release will add a data migration to copy contents of
course_idto the newcourse_keycolumn. EdX will fake this migration and copy data in batches instead.Next release will also drop the deprecated
course_idcolumn.See https://github.com/edx/edx-platform/pull/14013#issuecomment-261635454 for more information.
Environments: edx.org and edge.edx.org
Merge deadline: ASAP - this is blocking a course on Edge
JIRA tickets: TNL-5932
Discussions: https://github.com/edx/edx-platform/pull/14013, open-craft/problem-builder#131 and TNL-5932
Sandbox URL:
Sandboxes contain revision 86177cb.
There is a course with course key longer than 50 characters that already contains some long answer blocks.
I also created a course that was prepared with an older version of problem builder using now deprecated
course_idfield.Partner information: hosted on edX Edge (Davidson College)
Testing instructions:
Check that you can successfully add a Problem Builder "Long Answer" component to a course with a course key that is longer than 50 character and that answers answered on an older version of problem-builder continue to work correctly with this patch.
Reviewers
Settings