tesserae / apitess

Tesserae API
0 stars 4 forks source link

500 Error on lookup existing multitext results #56

Closed jeffkinnison closed 4 years ago

jeffkinnison commented 4 years ago

When accessing multitexts/<multitextID>, a 500 error is thrown. No other details are provided so it's hard to say why this is happening. Based on the progress bars for the searches, it seems like the results are being computed but not returned.

Lucan x Vergil feat. Ammianus that errors

nOkuda commented 4 years ago

Here's the error:

pymongo.errors.DocumentTooLarge: BSON document too large (21899408 bytes) - the connected server supports BSON document sizes up to 16777216 bytes.

We'll need to take a closer look at why that's happening, but this might be the relevant line:

.../tesserae/utils/multitext.py", line 604, in get_results
  _id=[uid for mr in db_multiresults for uid in mr['units']])
jeffkinnison commented 4 years ago

Oh, fun. We could definitely cut down on the size with a "lookup by match ID" option for multitext results, and that would also help with managing download size/time in the frontend. That could be a good bandage for the time being.

nOkuda commented 4 years ago

Update: Firefox declares a Gateway timeout on retrieving all of the multitext results. However, I've implemented paging of the results, which at least allows for retrieving some of the multitext results in less time than the Gateway timeout threshold.

Same multitext search results from before, but with paging.

My paging did, however, change the format in which the multitext results are sent. I've updated the documentation to describe the details, but essentially, the data comes back more like the results from /parallels/<uuid>/.

jeffkinnison commented 4 years ago

Handled by paging.