Problem refreshing content and creating course in Quince

Hi!

I’m using Quince after upgrading from Lilac.

Now, when I make changes in CMS no changes are shown in the published course even with the block_structure.invalidate_cache_on_publish switch activated.

I must use:

tutor local run cms ./manage.py cms update_course_outline <coursekey>

to view the changes in the LMS.

And there is another problem, when i create a new course I have this error until I run the command above.

2024-03-26 16:59:53,406 ERROR 7 [root] [user None] [ip None] signals.py:22 - Uncaught exception from None
Traceback (most recent call last):
  File "/openedx/edx-platform/./openedx/core/djangoapps/content/learning_sequences/api/outlines.py", line 224, in _get_course_context_for_outline
    LearningContext.objects
  File "/openedx/venv/lib/python3.8/site-packages/django/db/models/query.py", line 637, in get
    raise self.model.DoesNotExist(
openedx.core.djangoapps.content.learning_sequences.models.LearningContext.DoesNotExist: LearningContext matching query does not exist.

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/openedx/venv/lib/python3.8/site-packages/django/core/handlers/exception.py", line 55, in inner
    response = get_response(request)
  File "/openedx/venv/lib/python3.8/site-packages/django/core/handlers/base.py", line 197, in _get_response
    response = wrapped_callback(request, *callback_args, **callback_kwargs)
  File "/opt/pyenv/versions/3.8.18/lib/python3.8/contextlib.py", line 75, in inner
    return func(*args, **kwds)
  File "/openedx/venv/lib/python3.8/site-packages/django/views/decorators/csrf.py", line 56, in wrapper_view
    return view_func(*args, **kwargs)
  File "/openedx/venv/lib/python3.8/site-packages/django/views/generic/base.py", line 104, in view
    return self.dispatch(request, *args, **kwargs)
  File "/openedx/venv/lib/python3.8/site-packages/rest_framework/views.py", line 509, in dispatch
    response = self.handle_exception(exc)
  File "/openedx/venv/lib/python3.8/site-packages/rest_framework/views.py", line 469, in handle_exception
    self.raise_uncaught_exception(exc)
  File "/openedx/venv/lib/python3.8/site-packages/rest_framework/views.py", line 480, in raise_uncaught_exception
    raise exc
  File "/openedx/venv/lib/python3.8/site-packages/rest_framework/views.py", line 506, in dispatch
    response = handler(request, *args, **kwargs)
  File "/openedx/edx-platform/./lms/djangoapps/course_home_api/outline/views.py", line 301, in get
    user_course_outline = get_user_course_outline(
  File "/opt/pyenv/versions/3.8.18/lib/python3.8/contextlib.py", line 75, in inner
    return func(*args, **kwds)
  File "/openedx/edx-platform/./openedx/core/djangoapps/content/learning_sequences/api/outlines.py", line 269, in get_user_course_outline
    user_course_outline, _ = _get_user_course_outline_and_processors(course_key, user, at_time)
  File "/openedx/edx-platform/./openedx/core/djangoapps/content/learning_sequences/api/outlines.py", line 317, in _get_user_course_outline_and_processors
    full_course_outline = get_course_outline(course_key)
  File "/opt/pyenv/versions/3.8.18/lib/python3.8/contextlib.py", line 75, in inner
    return func(*args, **kwds)
  File "/openedx/edx-platform/./openedx/core/djangoapps/content/learning_sequences/api/outlines.py", line 113, in get_course_outline
    course_context = _get_course_context_for_outline(course_key)
  File "/openedx/edx-platform/./openedx/core/djangoapps/content/learning_sequences/api/outlines.py", line 231, in _get_course_context_for_outline
    raise CourseOutlineData.DoesNotExist(  # lint-amnesty, pylint: disable=raise-missing-from
openedx.core.djangoapps.content.learning_sequences.data.CourseOutlineData.DoesNotExist: No CourseOutlineData for course-v1:cpe+4+2024
2024-03-26 16:59:53,436 INFO 7 [edx.footer] [user 11] [ip 78.30.14.182] api.py:479 - images/logo.png
2024-03-26 16:59:53,444 ERROR 7 [django.request] [user 11] [ip 78.30.14.182] log.py:241 - Internal Server Error: /api/course_home/outline/course-v1:cpe+4+2024
Traceback (most recent call last):
  File "/openedx/edx-platform/./openedx/core/djangoapps/content/learning_sequences/api/outlines.py", line 224, in _get_course_context_for_outline
    LearningContext.objects
  File "/openedx/venv/lib/python3.8/site-packages/django/db/models/query.py", line 637, in get
    raise self.model.DoesNotExist(
openedx.core.djangoapps.content.learning_sequences.models.LearningContext.DoesNotExist: LearningContext matching query does not exist.

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/openedx/venv/lib/python3.8/site-packages/django/core/handlers/exception.py", line 55, in inner
    response = get_response(request)
  File "/openedx/venv/lib/python3.8/site-packages/django/core/handlers/base.py", line 197, in _get_response
    response = wrapped_callback(request, *callback_args, **callback_kwargs)
  File "/opt/pyenv/versions/3.8.18/lib/python3.8/contextlib.py", line 75, in inner
    return func(*args, **kwds)
  File "/openedx/venv/lib/python3.8/site-packages/django/views/decorators/csrf.py", line 56, in wrapper_view
    return view_func(*args, **kwargs)
  File "/openedx/venv/lib/python3.8/site-packages/django/views/generic/base.py", line 104, in view
    return self.dispatch(request, *args, **kwargs)
  File "/openedx/venv/lib/python3.8/site-packages/rest_framework/views.py", line 509, in dispatch
    response = self.handle_exception(exc)
  File "/openedx/venv/lib/python3.8/site-packages/rest_framework/views.py", line 469, in handle_exception
    self.raise_uncaught_exception(exc)
  File "/openedx/venv/lib/python3.8/site-packages/rest_framework/views.py", line 480, in raise_uncaught_exception
    raise exc
  File "/openedx/venv/lib/python3.8/site-packages/rest_framework/views.py", line 506, in dispatch
    response = handler(request, *args, **kwargs)
  File "/openedx/edx-platform/./lms/djangoapps/course_home_api/outline/views.py", line 301, in get
    user_course_outline = get_user_course_outline(
  File "/opt/pyenv/versions/3.8.18/lib/python3.8/contextlib.py", line 75, in inner
    return func(*args, **kwds)
  File "/openedx/edx-platform/./openedx/core/djangoapps/content/learning_sequences/api/outlines.py", line 269, in get_user_course_outline
    user_course_outline, _ = _get_user_course_outline_and_processors(course_key, user, at_time)
  File "/openedx/edx-platform/./openedx/core/djangoapps/content/learning_sequences/api/outlines.py", line 317, in _get_user_course_outline_and_processors
    full_course_outline = get_course_outline(course_key)
  File "/opt/pyenv/versions/3.8.18/lib/python3.8/contextlib.py", line 75, in inner
    return func(*args, **kwds)
  File "/openedx/edx-platform/./openedx/core/djangoapps/content/learning_sequences/api/outlines.py", line 113, in get_course_outline
    course_context = _get_course_context_for_outline(course_key)
  File "/openedx/edx-platform/./openedx/core/djangoapps/content/learning_sequences/api/outlines.py", line 231, in _get_course_context_for_outline
    raise CourseOutlineData.DoesNotExist(  # lint-amnesty, pylint: disable=raise-missing-from
openedx.core.djangoapps.content.learning_sequences.data.CourseOutlineData.DoesNotExist: No CourseOutlineData for course-v1:cpe+4+2024
[pid: 7|app: 0|req: 76/195] 10.5.0.16 () {60 vars in 3746 bytes} [Tue Mar 26 16:59:53 2024] GET /api/course_home/outline/course-v1:cpe+4+2024 => generated 9724 bytes in 350 msecs (HTTP/1.1 500) 9 headers in 629 bytes (1 switches on core 0)

Any suggestion will be apreciated!

Thanks!

Hi, I’ve faced similar issues after upgrade.

  • See if you can make it work by restarting the workers, course publishing logic is done through them and sometimes they’ll need a restart

  • Check worker logs for more errors

  • See if you have encoding issues, because your lilac might have other encoding in DB and quince will create new tables with something else.

  • Check if you are firing backfill course dates and simulate publish commands

Hi Chintan!

Thanks you very much for your answer.

There was a problem with cms-worker. Now it seems to work properly.

Best regards!

1 Like