I’m having a really weird error, and I’m not sure what steps to try next to solve it.
I’m migrating a Girder 2 instance to Girder 3, and at the same time, upgrading the Python version and moving the database over to MongoDB Atlas. So far, I’ve succeeded in deploying the Girder 3 instance on a new machine with Python 3. The instance worked fine, as expected. I’ve also migrated the database, and after pointing the Girder instance to that database, it also worked fine.
However, everything seems to work fine except resources that are being served from the assetstores. HTTP errors occur for these routes:
- /api/v1/item/5dd5d09aa0c5fdd5e7556200/tiles/thumbnail
- /api/v1/item/5dd5d09aa0c5fdd5e7556200/tiles
The error returned is:
{
message: "An unexpected error occurred on the server."
type: "internal"
uid: "04410cc8-f799-4ef7-b2b7-1a18cce6b325"
}
And when I open the girder error logs, I see:
[2020-02-05 00:14:13,848] ERROR: 500 Error
Traceback (most recent call last):
File "/home/ubuntu/girder_env/local/lib/python3.6/site-packages/girder/api/rest.py", line 630, in endpointDecorator*
val = fun(self, path, params)
File "/home/ubuntu/girder_env/local/lib/python3.6/site-packages/girder/api/rest.py", line 1191, in GET
return self.handleRoute('GET', path, params)
File "/home/ubuntu/girder_env/local/lib/python3.6/site-packages/girder/api/rest.py", line 947, in handleRoute
val = handler(**kwargs)
File "/home/ubuntu/girder_env/local/lib/python3.6/site-packages/girder/api/rest.py", line 401, in wrapped
return fun(*args, **kwargs)
File "/home/ubuntu/girder_env/local/lib/python3.6/site-packages/girder_large_image/rest/tiles.py", line 252, in getTilesInfo
return self._getTilesInfo(item, params)
File "/home/ubuntu/girder_env/local/lib/python3.6/site-packages/girder_large_image/rest/tiles.py", line 210, in _getTilesInfo
return self.imageItemModel.getMetadata(item, **imageArgs)
File "/home/ubuntu/girder_env/local/lib/python3.6/site-packages/girder_large_image/models/image_item.py", line 173, in getMetadata
tileSource = self._loadTileSource(item, **kwargs)
File "/home/ubuntu/girder_env/local/lib/python3.6/site-packages/girder_large_image/models/image_item.py", line 162, in _loadTileSource
tileSource = girder_tilesource.AvailableGirderTileSources[sourceName](item, **kwargs)
KeyError: 'svs'
Additional info:
Request URL: GET [domain]/api/v1/item/5dd5d09aa0c5fdd5e7556200/tiles
Query string:
Remote IP: 127.0.0.1
Request UID: 0751e470-5df1-478f-8e70-475a92484ddc
One thing that is implemented the same across both instances, but is slightly different than a normal Girder instance is that we are using a file mounting tool to sync files between the server and our Wasabi file storage. The tool is called Goofys, but as far as I know, it is set up exactly the same on the Girder V2 instance as the Girder V3. And when I go to the same path in the server as the ones listed in the database, the files are there.