We're updating the issue view to help you get more done. 

XModule TestMixedModuleStore intermittent test failure

Description

xmodule.modulestore.tests.test_mixed_modulestore.TestMixedModuleStore.test_course_publish_signal_firing_2_split

Error Message

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 NoneType' object has no attribute 'lower' -------------------- >> begin captured logging << -------------------- root: DEBUG: Using MongoDB for static content serving at host=localhost port=27017 db=contentstore1042 xmodule.modulestore.xml: DEBUG: ========> Starting course import from 2014 xmodule.modulestore.xml: DEBUG: ========> Starting course import from 2014_Uni xmodule.modulestore.xml: DEBUG: ========> Starting course import from aside xmodule.modulestore.xml: WARNING: ERROR: loading course policy from /home/jenkins/workspace/edx-platform-all-tests-pr/SHARD/1/TEST_SUITE/unit/label_exp/jenkins-worker/common/test/data/aside/policies/2012_Fall.json Expecting property name: line 7 column 5 (char 196) xmodule.modulestore.xml: DEBUG: ========> Starting course import from conditional xmodule.modulestore.xml: DEBUG: ========> Starting course import from conditional_and_poll xmodule.modulestore.xml: DEBUG: ========> Starting course import from course_info_updates xmodule.modulestore.xml: DEBUG: ========> Starting course import from dot-underscore xmodule.modulestore.xml: DEBUG: ========> Starting course import from embedded_python xmodule.modulestore.xml: DEBUG: ========> Starting course import from graded xmodule.modulestore.xml: DEBUG: ========> Starting course import from graphic_slider_tool xmodule.modulestore.xml: DEBUG: ========> Starting course import from import_draft_order xmodule.modulestore.xml: DEBUG: ========> Starting course import from manual-testing-complete xmodule.modulestore.xml: DEBUG: ========> Starting course import from open_ended xmodule.modulestore.xml: DEBUG: ========> Starting course import from open_ended_nopath xmodule.modulestore.xml: DEBUG: ========> Starting course import from pure_xblock xmodule.modulestore.xml: DEBUG: ========> Starting course import from pure_xblock_draft xmodule.modulestore.xml: DEBUG: ========> Starting course import from pure_xblock_public xmodule.modulestore.xml: DEBUG: ========> Starting course import from self_assessment xmodule.modulestore.xml: DEBUG: ========> Starting course import from simple xmodule.modulestore.xml: DEBUG: ========> Starting course import from simple_with_draft xmodule.modulestore.xml: DEBUG: ========> Starting course import from split_test_module xmodule.modulestore.xml: DEBUG: ========> Starting course import from split_test_module_draft xmodule.modulestore.xml: DEBUG: ========> Starting course import from test_about_blob_end_date xmodule.modulestore.xml: DEBUG: ========> Starting course import from test_end xmodule.modulestore.xml: DEBUG: ========> Starting course import from test_exam_registration xmodule.modulestore.xml: DEBUG: ========> Starting course import from test_import_course xmodule.modulestore.xml: DEBUG: ========> Starting course import from test_import_course_2 xmodule.modulestore.xml: DEBUG: ========> Starting course import from test_start_date xmodule.modulestore.xml: DEBUG: ========> Starting course import from test_unicode xmodule.modulestore.xml: DEBUG: ========> Starting course import from tilde xmodule.modulestore.xml: DEBUG: ========> Starting course import from toy xmodule.modulestore.xml: DEBUG: ========> Starting course import from two_toys xmodule.modulestore.xml: DEBUG: ========> Starting course import from word_cloud xmodule.modulestore.xml: DEBUG: ========> Starting course import from xml_dag xmodule.modulestore.xml: WARNING: ERROR: loading course policy from /home/jenkins/workspace/edx-platform-all-tests-pr/SHARD/1/TEST_SUITE/unit/label_exp/jenkins-worker/common/test/data/xml_dag/policies/2012_Fall.json Expecting property name: line 7 column 5 (char 196) xmodule.modulestore.django: INFO: Sent course_published signal to <Mock id='118966800'> with kwargs {'course_key': CourseLocator('org_x', 'course_y', 'run_z', None, None)}. Response was: None xmodule.modulestore.tests.test_mixed_modulestore: DEBUG: Testing with block type course xmodule.modulestore.django: INFO: Sent course_published signal to <Mock id='118966800'> with kwargs {'course_key': CourseLocator('org_x', 'course_y', 'run_z', 'draft-branch', None)}. Response was: None xmodule.modulestore.django: INFO: Sent course_published signal to <Mock id='118966800'> with kwargs {'course_key': CourseLocator('org_x', 'course_y', 'run_z', 'draft-branch', None)}. Response was: None xmodule.modulestore.django: INFO: Sent course_published signal to <Mock id='118966800'> with kwargs {'course_key': CourseLocator('org_x', 'course_y', 'run_z', 'published-branch', None)}. Response was: None xmodule.modulestore.tests.test_mixed_modulestore: DEBUG: Testing with block type chapter xmodule.modulestore.django: INFO: Sent course_published signal to <Mock id='118966800'> with kwargs {'course_key': CourseLocator('org_x', 'course_y', 'run_z', 'draft-branch', None)}. Response was: None xmodule.modulestore.django: INFO: Sent course_published signal to <Mock id='118966800'> with kwargs {'course_key': CourseLocator('org_x', 'course_y', 'run_z', 'draft-branch', None)}. Response was: None xmodule.modulestore.django: INFO: Sent course_published signal to <Mock id='118966800'> with kwargs {'course_key': CourseLocator('org_x', 'course_y', 'run_z', 'published-branch', None)}. Response was: None xmodule.modulestore.tests.test_mixed_modulestore: DEBUG: Testing with block type sequential xmodule.modulestore.django: INFO: Sent course_published signal to <Mock id='118966800'> with kwargs {'course_key': CourseLocator('org_x', 'course_y', 'run_z', 'draft-branch', None)}. Response was: None xmodule.modulestore.django: INFO: Sent course_published signal to <Mock id='118966800'> with kwargs {'course_key': CourseLocator('org_x', 'course_y', 'run_z', 'draft-branch', None)}. Response was: None xmodule.modulestore.django: INFO: Sent course_published signal to <Mock id='118966800'> with kwargs {'course_key': CourseLocator('org_x', 'course_y', 'run_z', 'published-branch', None)}. Response was: None xmodule.modulestore.tests.test_mixed_modulestore: DEBUG: Testing with block type about xmodule.modulestore.django: INFO: Sent course_published signal to <Mock id='118966800'> with kwargs {'course_key': CourseLocator('org_x', 'course_y', 'run_z', 'draft-branch', None)}. Response was: None xmodule.modulestore.django: INFO: Sent course_published signal to <Mock id='118966800'> with kwargs {'course_key': CourseLocator('org_x', 'course_y', 'run_z', 'draft-branch', None)}. Response was: None xmodule.modulestore.django: INFO: Sent course_published signal to <Mock id='118966800'> with kwargs {'course_key': CourseLocator('org_x', 'course_y', 'run_z', 'published-branch', None)}. Response was: None xmodule.modulestore.tests.test_mixed_modulestore: DEBUG: Testing with block type static_tab xmodule.modulestore.django: INFO: Sent course_published signal to <Mock id='118966800'> with kwargs {'course_key': CourseLocator('org_x', 'course_y', 'run_z', 'draft-branch', None)}. Response was: None xmodule.modulestore.django: INFO: Sent course_published signal to <Mock id='118966800'> with kwargs {'course_key': CourseLocator('org_x', 'course_y', 'run_z', 'draft-branch', None)}. Response was: None xmodule.modulestore.django: INFO: Sent course_published signal to <Mock id='118966800'> with kwargs {'course_key': CourseLocator('org_x', 'course_y', 'run_z', 'published-branch', None)}. Response was: None xmodule.modulestore.tests.test_mixed_modulestore: DEBUG: Testing with block type course_info xmodule.modulestore.django: INFO: Sent course_published signal to <Mock id='118966800'> with kwargs {'course_key': CourseLocator('org_x', 'course_y', 'run_z', 'draft-branch', None)}. Response was: None xmodule.modulestore.django: INFO: Sent course_published signal to <Mock id='118966800'> with kwargs {'course_key': CourseLocator('org_x', 'course_y', 'run_z', 'draft-branch', None)}. Response was: None xmodule.modulestore.django: INFO: Sent course_published signal to <Mock id='118966800'> with kwargs {'course_key': CourseLocator('org_x', 'course_y', 'run_z', 'published-branch', None)}. Response was: None xmodule.modulestore.django: INFO: Sent course_published signal to <Mock id='118966800'> with kwargs {'course_key': CourseLocator('org_x', 'course_y', 'run_z', 'draft-branch', None)}. Response was: None xmodule.modulestore.django: INFO: Sent course_published signal to <Mock id='118966800'> with kwargs {'course_key': CourseLocator('org_x', 'course_y', 'run_z', 'published-branch', None)}. Response was: None xmodule.modulestore.django: INFO: Sent course_published signal to <Mock id='118966800'> with kwargs {'course_key': CourseLocator('org_x', 'course_y', 'run_z', None, None)}. Response was: None xmodule.modulestore.django: INFO: Sent course_published signal to <Mock id='118966800'> with kwargs {'course_key': CourseLocator('org_x', 'course_y', 'run_z', None, None)}. Response was: None xmodule.modulestore.split_mongo.split: DEBUG: Attempted to insert duplicate structure 54e46026d848c55952b8a334 xmodule.modulestore.django: INFO: Sent course_published signal to <Mock id='118966800'> with kwargs {'course_key': CourseLocator('org.other', 'course.other', 'run.other', 'draft-branch', None)}. Response was: None xmodule.modulestore.xml: DEBUG: ========> Starting course import from toy xmodule.modulestore.xml: DEBUG: ========> Done with course import from toy --------------------- >> end captured logging << ---------------------

Stacktrace

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 File "/usr/lib/python2.7/unittest/case.py", line 327, in run testMethod() File "/home/jenkins/edx-venv/local/lib/python2.7/site-packages/ddt.py", line 114, in wrapper return func(self, *args, **kwargs) File "/home/jenkins/workspace/edx-platform-all-tests-pr/SHARD/1/TEST_SUITE/unit/label_exp/jenkins-worker/common/lib/xmodule/xmodule/modulestore/tests/test_mixed_modulestore.py", line 2035, in test_course_publish_signal_firing create_course_if_not_present=True, File "/home/jenkins/workspace/edx-platform-all-tests-pr/SHARD/1/TEST_SUITE/unit/label_exp/jenkins-worker/common/lib/xmodule/xmodule/modulestore/xml_importer.py", line 201, in import_from_xml existing_course_id = store.has_course(dest_course_id, ignore_case=True) File "/home/jenkins/workspace/edx-platform-all-tests-pr/SHARD/1/TEST_SUITE/unit/label_exp/jenkins-worker/common/lib/xmodule/xmodule/modulestore/mixed.py", line 90, in inner retval = func(field_decorator=strip_key_collection, *args, **kwargs) File "/home/jenkins/workspace/edx-platform-all-tests-pr/SHARD/1/TEST_SUITE/unit/label_exp/jenkins-worker/common/lib/xmodule/xmodule/modulestore/mixed.py", line 363, in has_course return store.has_course(course_id, ignore_case, **kwargs) File "/home/jenkins/workspace/edx-platform-all-tests-pr/SHARD/1/TEST_SUITE/unit/label_exp/jenkins-worker/common/lib/xmodule/xmodule/modulestore/split_mongo/split.py", line 966, in has_course course_index = self.get_course_index(course_id, ignore_case) File "/home/jenkins/workspace/edx-platform-all-tests-pr/SHARD/1/TEST_SUITE/unit/label_exp/jenkins-worker/common/lib/xmodule/xmodule/modulestore/split_mongo/split.py", line 279, in get_course_index if self._is_in_bulk_operation(course_key, ignore_case): File "/home/jenkins/workspace/edx-platform-all-tests-pr/SHARD/1/TEST_SUITE/unit/label_exp/jenkins-worker/common/lib/xmodule/xmodule/modulestore/__init__.py", line 279, in _is_in_bulk_operation return self._get_bulk_ops_record(course_key, ignore_case).active File "/home/jenkins/workspace/edx-platform-all-tests-pr/SHARD/1/TEST_SUITE/unit/label_exp/jenkins-worker/common/lib/xmodule/xmodule/modulestore/split_mongo/split.py", line 207, in _get_bulk_ops_record course_key.replace(branch=None, version_guid=None), ignore_case File "/home/jenkins/workspace/edx-platform-all-tests-pr/SHARD/1/TEST_SUITE/unit/label_exp/jenkins-worker/common/lib/xmodule/xmodule/modulestore/__init__.py", line 202, in _get_bulk_ops_record key.org.lower() == course_key.org.lower() and "'NoneType' object has no attribute 'lower'\n-------------------- >> begin captured logging << --------------------\nroot: DEBUG: Using MongoDB for static content serving at host=localhost port=27017 db=contentstore1042\nxmodule.modulestore.xml: DEBUG: ========> Starting course import from 2014\nxmodule.modulestore.xml: DEBUG: ========> Starting course import from 2014_Uni\nxmodule.modulestore.xml: DEBUG: ========> Starting course import from aside\nxmodule.modulestore.xml: WARNING: ERROR: loading course policy from /home/jenkins/workspace/edx-platform-all-tests-pr/SHARD/1/TEST_SUITE/unit/label_exp/jenkins-worker/common/test/data/aside/policies/2012_Fall.json Expecting property name: line 7 column 5 (char 196)\nxmodule.modulestore.xml: DEBUG: ========> Starting course import from conditional\nxmodule.modulestore.xml: DEBUG: ========> Starting course import from conditional_and_poll\nxmodule.modulestore.xml: DEBUG: ========> Starting course import from course_info_updates\nxmodule.modulestore.xml: DEBUG: ========> Starting course import from dot-underscore\nxmodule.modulestore.xml: DEBUG: ========> Starting course import from embedded_python\nxmodule.modulestore.xml: DEBUG: ========> Starting course import from graded\nxmodule.modulestore.xml: DEBUG: ========> Starting course import from graphic_slider_tool\nxmodule.modulestore.xml: DEBUG: ========> Starting course import from import_draft_order\nxmodule.modulestore.xml: DEBUG: ========> Starting course import from manual-testing-complete\nxmodule.modulestore.xml: DEBUG: ========> Starting course import from open_ended\nxmodule.modulestore.xml: DEBUG: ========> Starting course import from open_ended_nopath\nxmodule.modulestore.xml: DEBUG: ========> Starting course import from pure_xblock\nxmodule.modulestore.xml: DEBUG: ========> Starting course import from pure_xblock_draft\nxmodule.modulestore.xml: DEBUG: ========> Starting course import from pure_xblock_public\nxmodule.modulestore.xml: DEBUG: ========> Starting course import from self_assessment\nxmodule.modulestore.xml: DEBUG: ========> Starting course import from simple\nxmodule.modulestore.xml: DEBUG: ========> Starting course import from simple_with_draft\nxmodule.modulestore.xml: DEBUG: ========> Starting course import from split_test_module\nxmodule.modulestore.xml: DEBUG: ========> Starting course import from split_test_module_draft\nxmodule.modulestore.xml: DEBUG: ========> Starting course import from test_about_blob_end_date\nxmodule.modulestore.xml: DEBUG: ========> Starting course import from test_end\nxmodule.modulestore.xml: DEBUG: ========> Starting course import from test_exam_registration\nxmodule.modulestore.xml: DEBUG: ========> Starting course import from test_import_course\nxmodule.modulestore.xml: DEBUG: ========> Starting course import from test_import_course_2\nxmodule.modulestore.xml: DEBUG: ========> Starting course import from test_start_date\nxmodule.modulestore.xml: DEBUG: ========> Starting course import from test_unicode\nxmodule.modulestore.xml: DEBUG: ========> Starting course import from tilde\nxmodule.modulestore.xml: DEBUG: ========> Starting course import from toy\nxmodule.modulestore.xml: DEBUG: ========> Starting course import from two_toys\nxmodule.modulestore.xml: DEBUG: ========> Starting course import from word_cloud\nxmodule.modulestore.xml: DEBUG: ========> Starting course import from xml_dag\nxmodule.modulestore.xml: WARNING: ERROR: loading course policy from /home/jenkins/workspace/edx-platform-all-tests-pr/SHARD/1/TEST_SUITE/unit/label_exp/jenkins-worker/common/test/data/xml_dag/policies/2012_Fall.json Expecting property name: line 7 column 5 (char 196)\nxmodule.modulestore.django: INFO: Sent course_published signal to <Mock id='118966800'> with kwargs {'course_key': CourseLocator('org_x', 'course_y', 'run_z', None, None)}. Response was: None\nxmodule.modulestore.tests.test_mixed_modulestore: DEBUG: Testing with block type course\nxmodule.modulestore.django: INFO: Sent course_published signal to <Mock id='118966800'> with kwargs {'course_key': CourseLocator('org_x', 'course_y', 'run_z', 'draft-branch', None)}. Response was: None\nxmodule.modulestore.django: INFO: Sent course_published signal to <Mock id='118966800'> with kwargs {'course_key': CourseLocator('org_x', 'course_y', 'run_z', 'draft-branch', None)}. Response was: None\nxmodule.modulestore.django: INFO: Sent course_published signal to <Mock id='118966800'> with kwargs {'course_key': CourseLocator('org_x', 'course_y', 'run_z', 'published-branch', None)}. Response was: None\nxmodule.modulestore.tests.test_mixed_modulestore: DEBUG: Testing with block type chapter\nxmodule.modulestore.django: INFO: Sent course_published signal to <Mock id='118966800'> with kwargs {'course_key': CourseLocator('org_x', 'course_y', 'run_z', 'draft-branch', None)}. Response was: None\nxmodule.modulestore.django: INFO: Sent course_published signal to <Mock id='118966800'> with kwargs {'course_key': CourseLocator('org_x', 'course_y', 'run_z', 'draft-branch', None)}. Response was: None\nxmodule.modulestore.django: INFO: Sent course_published signal to <Mock id='118966800'> with kwargs {'course_key': CourseLocator('org_x', 'course_y', 'run_z', 'published-branch', None)}. Response was: None\nxmodule.modulestore.tests.test_mixed_modulestore: DEBUG: Testing with block type sequential\nxmodule.modulestore.django: INFO: Sent course_published signal to <Mock id='118966800'> with kwargs {'course_key': CourseLocator('org_x', 'course_y', 'run_z', 'draft-branch', None)}. Response was: None\nxmodule.modulestore.django: INFO: Sent course_published signal to <Mock id='118966800'> with kwargs {'course_key': CourseLocator('org_x', 'course_y', 'run_z', 'draft-branch', None)}. Response was: None\nxmodule.modulestore.django: INFO: Sent course_published signal to <Mock id='118966800'> with kwargs {'course_key': CourseLocator('org_x', 'course_y', 'run_z', 'published-branch', None)}. Response was: None\nxmodule.modulestore.tests.test_mixed_modulestore: DEBUG: Testing with block type about\nxmodule.modulestore.django: INFO: Sent course_published signal to <Mock id='118966800'> with kwargs {'course_key': CourseLocator('org_x', 'course_y', 'run_z', 'draft-branch', None)}. Response was: None\nxmodule.modulestore.django: INFO: Sent course_published signal to <Mock id='118966800'> with kwargs {'course_key': CourseLocator('org_x', 'course_y', 'run_z', 'draft-branch', None)}. Response was: None\nxmodule.modulestore.django: INFO: Sent course_published signal to <Mock id='118966800'> with kwargs {'course_key': CourseLocator('org_x', 'course_y', 'run_z', 'published-branch', None)}. Response was: None\nxmodule.modulestore.tests.test_mixed_modulestore: DEBUG: Testing with block type static_tab\nxmodule.modulestore.django: INFO: Sent course_published signal to <Mock id='118966800'> with kwargs {'course_key': CourseLocator('org_x', 'course_y', 'run_z', 'draft-branch', None)}. Response was: None\nxmodule.modulestore.django: INFO: Sent course_published signal to <Mock id='118966800'> with kwargs {'course_key': CourseLocator('org_x', 'course_y', 'run_z', 'draft-branch', None)}. Response was: None\nxmodule.modulestore.django: INFO: Sent course_published signal to <Mock id='118966800'> with kwargs {'course_key': CourseLocator('org_x', 'course_y', 'run_z', 'published-branch', None)}. Response was: None\nxmodule.modulestore.tests.test_mixed_modulestore: DEBUG: Testing with block type course_info\nxmodule.modulestore.django: INFO: Sent course_published signal to <Mock id='118966800'> with kwargs {'course_key': CourseLocator('org_x', 'course_y', 'run_z', 'draft-branch', None)}. Response was: None\nxmodule.modulestore.django: INFO: Sent course_published signal to <Mock id='118966800'> with kwargs {'course_key': CourseLocator('org_x', 'course_y', 'run_z', 'draft-branch', None)}. Response was: None\nxmodule.modulestore.django: INFO: Sent course_published signal to <Mock id='118966800'> with kwargs {'course_key': CourseLocator('org_x', 'course_y', 'run_z', 'published-branch', None)}. Response was: None\nxmodule.modulestore.django: INFO: Sent course_published signal to <Mock id='118966800'> with kwargs {'course_key': CourseLocator('org_x', 'course_y', 'run_z', 'draft-branch', None)}. Response was: None\nxmodule.modulestore.django: INFO: Sent course_published signal to <Mock id='118966800'> with kwargs {'course_key': CourseLocator('org_x', 'course_y', 'run_z', 'published-branch', None)}. Response was: None\nxmodule.modulestore.django: INFO: Sent course_published signal to <Mock id='118966800'> with kwargs {'course_key': CourseLocator('org_x', 'course_y', 'run_z', None, None)}. Response was: None\nxmodule.modulestore.django: INFO: Sent course_published signal to <Mock id='118966800'> with kwargs {'course_key': CourseLocator('org_x', 'course_y', 'run_z', None, None)}. Response was: None\nxmodule.modulestore.split_mongo.split: DEBUG: Attempted to insert duplicate structure 54e46026d848c55952b8a334\nxmodule.modulestore.django: INFO: Sent course_published signal to <Mock id='118966800'> with kwargs {'course_key': CourseLocator('org.other', 'course.other', 'run.other', 'draft-branch', None)}. Response was: None\nxmodule.modulestore.xml: DEBUG: ========> Starting course import from toy\nxmodule.modulestore.xml: DEBUG: ========> Done with course import from toy\n--------------------- >> end captured logging << ---------------------"

Failed build: https://build.testeng.edx.org/job/edx-platform-all-tests-pr/1780/

Passed next build: https://build.testeng.edx.org/job/edx-platform-all-tests-pr/1844/

PR: https://github.com/edx/edx-platform/pull/4891

Steps to Reproduce

None

Current Behavior

None

Expected Behavior

None

Reason for Variance

None

Release Notes

None

User Impact Summary

None

Status

Assignee

Unassigned

Reporter

Sarina Canelake

Labels

Reach

None

Impact

None

Customer

None

Partner Manager

None

URL

None

Contributor Name

None

Groups with Read-Only Access

None

Actual Points

None

Category of Work

None

Stakeholders

None

Story Points

1

Priority

CAT-3