Scout: pymongo.errors.DocumentTooLarge: 'findAndModify' command document too large error

Created on 17 May 2021  路  9Comments  路  Source: Clinical-Genomics/scout

021-05-17 10:51:16,241 - scout.server.app - ERROR: Exception on /cust003/2015/variants [GET] [in /home/hiseq.clinical/miniconda/envs/prod/lib/python3.6/site-packages/flask/app.py:1892]
Traceback (most recent call last):
File "/home/hiseq.clinical/miniconda/envs/prod/lib/python3.6/site-packages/flask/app.py", line 2447, in wsgi_app
response = self.full_dispatch_request()
File "/home/hiseq.clinical/miniconda/envs/prod/lib/python3.6/site-packages/flask/app.py", line 1952, in full_dispatch_request
rv = self.handle_user_exception(e)
File "/home/hiseq.clinical/miniconda/envs/prod/lib/python3.6/site-packages/flask/app.py", line 1821, in handle_user_exception
reraise(exc_type, exc_value, tb)
File "/home/hiseq.clinical/miniconda/envs/prod/lib/python3.6/site-packages/flask/_compat.py", line 39, in reraise
raise value
File "/home/hiseq.clinical/miniconda/envs/prod/lib/python3.6/site-packages/flask/app.py", line 1950, in full_dispatch_request
rv = self.dispatch_request()
File "/home/hiseq.clinical/miniconda/envs/prod/lib/python3.6/site-packages/flask/app.py", line 1936, in dispatch_request
return self.view_functionsrule.endpoint
File "/home/hiseq.clinical/SERVER/apps/scout/git/scout/scout/server/utils.py", line 26, in decorated_function
context = func(args, *kwargs)
File "/home/hiseq.clinical/SERVER/apps/scout/git/scout/scout/server/blueprints/variants/views.py", line 126, in variants
data = controllers.variants(store, institute_obj, case_obj, variants_query, result_size, page)
File "/home/hiseq.clinical/SERVER/apps/scout/git/scout/scout/server/blueprints/variants/controllers.py", line 102, in variants
store, institute_obj, case_obj, variant_obj, update=True, genome_build=genome_build
File "/home/hiseq.clinical/SERVER/apps/scout/git/scout/scout/server/blueprints/variants/controllers.py", line 335, in parse_variant
variant_obj = store.update_variant(variant_obj)
File "/home/hiseq.clinical/SERVER/apps/scout/git/scout/scout/adapter/mongo/variant_loader.py", line 51, in update_variant
return_document=pymongo.ReturnDocument.AFTER,
File "/home/hiseq.clinical/miniconda/envs/prod/lib/python3.6/site-packages/pymongo/collection.py", line 3123, in find_one_and_replace
hint=hint, session=session, **kwargs)
File "/home/hiseq.clinical/miniconda/envs/prod/lib/python3.6/site-packages/pymongo/collection.py", line 2972, in __find_and_modify
write_concern.acknowledged, _find_and_modify, session)
File "/home/hiseq.clinical/miniconda/envs/prod/lib/python3.6/site-packages/pymongo/mongo_client.py", line 1498, in _retryable_write
return self._retry_with_session(retryable, func, s, None)
File "/home/hiseq.clinical/miniconda/envs/prod/lib/python3.6/site-packages/pymongo/mongo_client.py", line 1384, in _retry_with_session
return self._retry_internal(retryable, func, session, bulk)
File "/home/hiseq.clinical/miniconda/envs/prod/lib/python3.6/site-packages/pymongo/mongo_client.py", line 1416, in _retry_internal
return func(session, sock_info, retryable)
File "/home/hiseq.clinical/miniconda/envs/prod/lib/python3.6/site-packages/pymongo/collection.py", line 2966, in _find_and_modify
user_fields=_FIND_AND_MODIFY_DOC_FIELDS)
File "/home/hiseq.clinical/miniconda/envs/prod/lib/python3.6/site-packages/pymongo/collection.py", line 253, in _command
user_fields=user_fields)
File "/home/hiseq.clinical/miniconda/envs/prod/lib/python3.6/site-packages/pymongo/pool.py", line 699, in command
self._raise_connection_failure(error)
File "/home/hiseq.clinical/miniconda/envs/prod/lib/python3.6/site-packages/pymongo/pool.py", line 694, in command
exhaust_allowed=exhaust_allowed)
File "/home/hiseq.clinical/miniconda/envs/prod/lib/python3.6/site-packages/pymongo/network.py", line 136, in command
name, size, max_bson_size + message._COMMAND_OVERHEAD)
File "/home/hiseq.clinical/miniconda/envs/prod/lib/python3.6/site-packages/pymongo/message.py", line 1092, in _raise_document_too_large
raise DocumentTooLarge("%r command document too large" % (operation,))
pymongo.errors.DocumentTooLarge: 'findAndModify' command document too large

bug

All 9 comments

What is this error, do we have documents bigger than 16 Mb?

Hm, an old migrated case?

To reproduce, go to this case: https://scout.scilifelab.se/cust003/2015/variants and deselect all gene panels from the filter when filtering for variants

Hm, an old migrated case?

yes

Its in the compound update I guess - something that changed in how we represent them that causes too much stuff to get pulled?

The thing is we haven't deployed the compound update yet 馃

Well, no, not the latest, but we still run that build compounds part for cases like the "first" time they open, since way back when.

At least the same case is on stage, since it's old!

Loading of variants page on the stage case fails when updating this specific variant: aa472e7a595ae25d0c499ced46653cb4

Was this page helpful?
0 / 5 - 0 ratings

Related issues

heronikdin picture heronikdin  路  4Comments

dnil picture dnil  路  3Comments

andreaswallberg picture andreaswallberg  路  4Comments

1ctw picture 1ctw  路  5Comments

ielvers picture ielvers  路  3Comments