Commit Graph

182 Commits

Author SHA1 Message Date
Eric Fischer
594dcaf4a1 Merge pull request #14780 from edx/efischer/ora_grades
Clear Student State: ORA/Robust Grades fixes
2017-03-30 14:27:45 -04:00
cahrens
e5035746bf Introduce EnrollmentTrackUserPartition.
TNL-6674
2017-03-30 12:24:48 -04:00
Eric Fischer
b484092397 Clear Student State ORA/Robust Grades cleanup 2017-03-30 11:08:29 -04:00
Sanford Student
bdc0b33cb4 add settings for compute grades command 2017-03-29 17:07:44 -04:00
J. Cliff Dyer
a3154b923f Create task to process a batch of grade computations.
TNL-6690
2017-03-28 12:46:51 -04:00
Jillian Vogel
4d992565ac Allows course staff to access any enrolled learner's grades via the Grades API
Also adds JwtAuthentication to the list of allowed authentication
methods, so the Grades REST API can be easily accessed from Enterprise
management commands.
2017-03-24 17:51:09 +10:30
Joel Barciauskas
6a55ef7920 Merge pull request #14633 from edx/jbarciauskas/remove-newrelic-dep
Wrap all newrelic dependencies in a check to see if the module is loaded
2017-03-21 16:28:24 -04:00
J. Cliff Dyer
b89736c75c Add compute_grades management command.
TNL-6689
2017-03-21 14:47:33 -04:00
Nimisha Asthagiri
6a954c1e4e Merge pull request #14690 from edx/neem/fix-entrance-exam-grades
Fix grading for Entrance Exams
2017-03-17 19:04:35 -04:00
Nimisha Asthagiri
54d938cab5 Fix grading for Entrance Exams
TNL-6227
2017-03-17 17:32:36 -04:00
Nimisha Asthagiri
a77c345a58 Merge pull request #14689 from edx/neem/fix-milestone-grades
Fix grading for Gated Subsections
2017-03-17 16:10:12 -04:00
Nimisha Asthagiri
634ac8a825 Still compute grades asynchronously when PersistentGrades is enabled 2017-03-16 18:26:17 -04:00
Sanford Student
9a44777335 changes is score higher to use gtoe
for TNL-6644
2017-03-16 10:25:37 -04:00
Nimisha Asthagiri
cfb032a50c Fix grading for Gated Subsections
TNL-5955
2017-03-15 17:16:20 -04:00
Joel Barciauskas
630985b3cc Wrap all newrelic dependencies in a check to see if the module is loaded 2017-03-10 12:22:08 -05:00
J. Cliff Dyer
21b224ec59 Give instructor task knowledge of new rescore.
* Bump xblock version
* Update rescore instructor task helper to handle generic rescore.
* Add set_score to grade signal handler.
2017-03-09 14:59:06 -05:00
Nimisha Asthagiri
1224e341de Revert "Merge pull request #14588 from edx/efischer/kill_stuff"
This reverts commit 83f2be4929, reversing
changes made to 01ed17426f.
2017-03-08 13:10:48 -05:00
Eric Fischer
83f2be4929 Merge pull request #14588 from edx/efischer/kill_stuff
Kill edx-reverification-block
2017-03-06 09:29:36 -05:00
Nimisha Asthagiri
00d466224e Consolidate Block Structure folders
TNL-6518
2017-03-01 21:19:28 -05:00
Sanford Student
576516b599 ensure that modified start/end are treated as UTC by django 2017-03-01 15:15:17 -05:00
Eric Fischer
7b85c0ea00 Remove in-course reverification
This is unused, and will no longer be supported on edx.org. Also adds a
DeprecatedModel utility class.

TNL-6126
2017-03-01 10:46:29 -05:00
Nimisha Asthagiri
02c24cb259 Block Structure query count and API changes 2017-02-28 23:54:57 -05:00
David Ormsbee
39fc6ce1f5 Merge pull request #14586 from edx/ormsbee/test_bulk_ops_1
Move more tests to use bulk_operations
2017-02-28 09:42:50 -05:00
Eric Fischer
715076a48b Cleaner grades exception handling 2017-02-27 13:53:31 -05:00
David Ormsbee
ca1f76cedb Move more tests to use bulk_operations. 2017-02-24 15:21:45 -05:00
David Ormsbee
2051c90924 Test Speedup: Isolate Modulestore Signals
There are a number of Django Signals that are on the modulestore's
SignalHandler class, such as SignalHandler.course_published. These
signals can trigger very expensive processes to occur, such as course
overview or block structures generation. Most of the time, the test
author doesn't care about these side-effects.

This commit does a few things:

* Converts the signals on SignalHandler to be instances of a new
  SwitchedSignal class, that allows signal sending to be disabled.

* Creates a SignalIsolationMixin helper similar in spirit to the
  CacheIsolationMixin, and adds it to the ModuleStoreIsolationMixin
  (and thus to ModuleStoreTestCase and SharedModuleStoreTestCase).

* Converts our various tests to use this new mechanism. In some cases,
  this means adjusting query counts downwards because they no longer
  have to account for publishing listener actions.

Modulestore generated signals are now muted by default during test runs.
Calls to send() them will result in no-ops. You can choose to enable
specific signals for a given subclass of ModuleStoreTestCase or
SharedModuleStoreTestCase by specifying an ENABLED_SIGNALS class
attribute, like the following example:

    from xmodule.modulestore.tests.django_utils import ModuleStoreTestCase

    class MyPublishTestCase(ModuleStoreTestCase):
        ENABLED_SIGNALS = ['course_published', 'pre_publish']

You should take great care when disabling signals outside of a
ModuleStoreTestCase or SharedModuleStoreTestCase, since they can leak
out into other tests. Be sure to always clean up, and never disable
signals outside of testing. Because signals are essentially process
globals, it can have a lot of unpleasant side-effects if we start
mucking around with them during live requests.

Overall, this change has cut the total test execution time for
edx-platform by a bit over a third, though we still spend a lot in
pre-test setup during our test builds.

[PERF-413]
2017-02-23 10:31:16 -05:00
Eric Fischer
06c3445609 Short-term fix for TNL-6559 task failures 2017-02-22 14:34:36 -05:00
Sanford Student
c4461191bc reset grades management command choose database 2017-02-21 16:00:33 -05:00
Eric Fischer
7d82f32f5b Fix issue with test ordering
The second test here is not idempotent, so we must needs reset the
course before each test.
2017-02-17 09:48:56 -05:00
Eric Fischer
fd1ed2ce6d Remove unneeded validation on grades model
These checks are causing SQL query numbers to scale linearly with the
number of subsections being created/updated, and the errors they
check for have not been seen in prod.

TNL-6225
2017-02-17 09:48:56 -05:00
Nimisha Asthagiri
6626725781 Merge pull request #14504 from edx/beryl/cbs_transformer_versions
Block Transformers: distinguish between READ and WRITE versions
2017-02-13 13:32:05 -05:00
Nimisha Asthagiri
71cce9bb73 Block Transformers: distinguish between READ and WRITE versions
TNL-6522
2017-02-13 12:20:22 -05:00
J. Cliff Dyer
be8a898e68 Add logging to recalculate grades base task.
TNL-6294

* Use external celery_utils in edx-platform (TNL-6454)
* Remove old openedx.core celery_utils implementation.
2017-02-10 16:07:51 -05:00
Nimisha Asthagiri
31ec562168 Merge pull request #14490 from edx/beryl/request-cache-feature-flag
request-cache grades feature flag to avoid 400+ memcached hits
2017-02-08 11:41:55 -05:00
Nimisha Asthagiri
f2abce53cb request-cache grades feature flag to avoid 400+ memcached hits 2017-02-08 10:01:52 -05:00
Nimisha Asthagiri
697b3d7d98 Add new relic parameters to grades task 2017-02-07 19:29:17 -05:00
Nimisha Asthagiri
7cc08399c6 Fix mongo query count for Grades API 2017-02-01 17:58:36 -05:00
Jesse Zoldak
b0647e7d83 Revert "Fix mongo query count for Grades API" 2017-02-01 11:09:43 -05:00
Nimisha Asthagiri
704a16ad3f Fix mongo query count for Grades API 2017-02-01 09:32:27 -05:00
Eric Fischer
6f8383199f Allow null edited_timestamp
Some old mongo courses do not have this field, and the team has opted
to allow null values rather than inserting a default. This change
affects both course and subsection grades.

TNL-6408
2017-01-30 13:19:36 -05:00
Eric Fischer
a78db97d26 Delay grades recalculation task
As discovered in load testing, if this task is run too quickly it
can ask for a newly-recorded score prior to the active transaction
finishing and writing to the database.

TNL-6424
2017-01-30 13:19:36 -05:00
sanfordstudent
09c021e7ee Merge pull request #14370 from edx/sstudent/grades-tasks-logging
add task id to logging and log database exceptions for TNL-6332
2017-01-26 10:44:09 -05:00
Sanford Student
dd93496f7a add task id to logging and log database exceptions
for TNL-6332, TNL-6373
2017-01-26 10:06:34 -05:00
J. Cliff Dyer
df7c2715d3 Create infrastructure for reapplying tasks
and cleaning up tasks that have been resolved.

TNL-6252
2017-01-25 16:22:40 -05:00
Nimisha Asthagiri
784ef04221 Merge pull request #14359 from edx/beryl/command_generate_cb_tasks
Update generate_course_blocks management command to enqueue tasks.
2017-01-24 17:24:30 -05:00
Nimisha Asthagiri
c04f4401dc Update generate_course_blocks management command to enqueue tasks 2017-01-24 09:11:57 -05:00
Nimisha Asthagiri
5a9179bf00 Update has_database_updated_with_new_score to handle all block types
TNL-6331
2017-01-23 15:50:16 -05:00
J. Cliff Dyer
0d2ae5d4af Store failed subsection grade calculations
TNL-6250
2017-01-18 09:43:07 -05:00
Sanford Student
00471d4a78 add index for modified to course and subsection grades
and first attempted for subsection
for TNL-6281
2017-01-12 12:50:35 -05:00
Nimisha Asthagiri
05087bfac2 Management command to Reset Grades
TNL-6251
2017-01-10 15:26:52 -05:00