Closed impythonista closed 3 years ago
@danirus Web api doesn't handle MaxThreadLevelExceededException Exception when Web API call happens http://localhost:8888/comments/api/comment/ .
http://localhost:8888/comments/api/comment/
I use below settings in settings.py
COMMENTS_XTD_MAX_THREAD_LEVEL = 1
API response should be a meaningful message instead just returning exception.
Traceback
Environment: Request Method: POST Request URL: http://localhost:8888/comments/api/comment/ Django Version: 3.1.4 Python Version: 3.6.12 Installed Applications: ['django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.sites', 'django.contrib.messages', 'django.contrib.staticfiles', 'corsheaders', 'users', 'rest_framework', 'rest_framework.authtoken', 'comments', 'pages', 'django_comments_xtd', 'django_comments'] Installed Middleware: ['django.middleware.security.SecurityMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware', 'corsheaders.middleware.CorsMiddleware', 'django.middleware.common.CommonMiddleware', 'django.middleware.csrf.CsrfViewMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware', 'django.contrib.messages.middleware.MessageMiddleware', 'django.middleware.clickjacking.XFrameOptionsMiddleware'] Traceback (most recent call last): File "/home/rails/.virtualenvs/nama3.6/lib/python3.6/site-packages/django/core/handlers/exception.py", line 47, in inner response = get_response(request) File "/home/rails/.virtualenvs/nama3.6/lib/python3.6/site-packages/django/core/handlers/base.py", line 179, in _get_response response = wrapped_callback(request, *callback_args, **callback_kwargs) File "/home/rails/.virtualenvs/nama3.6/lib/python3.6/site-packages/django/views/decorators/csrf.py", line 54, in wrapped_view return view_func(*args, **kwargs) File "/home/rails/.virtualenvs/nama3.6/lib/python3.6/site-packages/django/views/generic/base.py", line 70, in view return self.dispatch(request, *args, **kwargs) File "/home/rails/.virtualenvs/nama3.6/lib/python3.6/site-packages/rest_framework/views.py", line 509, in dispatch response = self.handle_exception(exc) File "/home/rails/.virtualenvs/nama3.6/lib/python3.6/site-packages/rest_framework/views.py", line 469, in handle_exception self.raise_uncaught_exception(exc) File "/home/rails/.virtualenvs/nama3.6/lib/python3.6/site-packages/rest_framework/views.py", line 480, in raise_uncaught_exception raise exc File "/home/rails/.virtualenvs/nama3.6/lib/python3.6/site-packages/rest_framework/views.py", line 506, in dispatch response = handler(request, *args, **kwargs) File "/home/rails/.virtualenvs/nama3.6/lib/python3.6/site-packages/django_comments_xtd/api/views.py", line 29, in post response = super(CommentCreate, self).post(request, *args, **kwargs) File "/home/rails/.virtualenvs/nama3.6/lib/python3.6/site-packages/rest_framework/generics.py", line 190, in post return self.create(request, *args, **kwargs) File "/home/rails/.virtualenvs/nama3.6/lib/python3.6/site-packages/rest_framework/mixins.py", line 19, in create self.perform_create(serializer) File "/home/rails/.virtualenvs/nama3.6/lib/python3.6/site-packages/django_comments_xtd/api/views.py", line 42, in perform_create self.resp_dict = serializer.save() File "/home/rails/.virtualenvs/nama3.6/lib/python3.6/site-packages/django_comments_xtd/api/serializers.py", line 153, in save new_comment = views._create_comment(resp['comment']) File "/home/rails/.virtualenvs/nama3.6/lib/python3.6/site-packages/django_comments_xtd/views.py", line 98, in _create_comment comment.save() File "/home/rails/.virtualenvs/nama3.6/lib/python3.6/site-packages/django_comments_xtd/models.py", line 82, in save self._calculate_thread_data() File "/home/rails/.virtualenvs/nama3.6/lib/python3.6/site-packages/django_comments_xtd/models.py", line 93, in _calculate_thread_data raise MaxThreadLevelExceededException(self) Exception Type: MaxThreadLevelExceededException at /comments/api/comment/ Exception Value: Max thread level reached for comment 6
Thanks @impythonista for reporting this issue. It has been fixed and merged into master. It will be released as part of v2.8.2.
The fix for this issue has been released with v2.8.2.
@danirus Web api doesn't handle MaxThreadLevelExceededException Exception when Web API call happens
http://localhost:8888/comments/api/comment/
.I use below settings in settings.py
COMMENTS_XTD_MAX_THREAD_LEVEL = 1
API response should be a meaningful message instead just returning exception.
Traceback