Commit a03134b3 by Nimisha Asthagiri

Merge remote-tracking branch 'origin/release' into rc/2014-07-16

Conflicts:
	common/lib/xmodule/xmodule/modulestore/mixed.py
	common/lib/xmodule/xmodule/modulestore/mongo/base.py
parents 44e9e6f3 23cb5499
......@@ -409,6 +409,13 @@ class MongoModuleStore(ModuleStoreWriteBase):
self.ignore_write_events_on_courses.remove(course_id)
self.refresh_cached_metadata_inheritance_tree(course_id)
def _is_bulk_write_in_progress(self, course_id):
"""
Returns whether a bulk write operation is in progress for the given course.
"""
# check with branch set to None
return course_id in self.ignore_write_events_on_courses
def fill_in_run(self, course_key):
"""
In mongo some course_keys are used without runs. This helper function returns
......@@ -560,7 +567,7 @@ class MongoModuleStore(ModuleStoreWriteBase):
If given a runtime, it replaces the cached_metadata in that runtime. NOTE: failure to provide
a runtime may mean that some objects report old values for inherited data.
"""
if course_id not in self.ignore_write_events_on_courses:
if not self._is_bulk_write_in_progress(course_id):
# below is done for side effects when runtime is None
cached_metadata = self._get_cached_metadata_inheritance_tree(course_id, force_refresh=True)
if runtime:
......@@ -1031,7 +1038,10 @@ class MongoModuleStore(ModuleStoreWriteBase):
# update subtree edited info for ancestors
# don't update the subtree info for descendants of the publish root for efficiency
if (not isPublish) or (isPublish and is_publish_root):
if (
(not isPublish or (isPublish and is_publish_root)) and
not self._is_bulk_write_in_progress(xblock.location.course_key)
):
ancestor_payload = {
'edit_info.subtree_edited_on': now,
'edit_info.subtree_edited_by': user_id
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment