Dir/File missing error after some time

Hello everyone, we have a Seafile Pro Server (version 10.0.12) as a Docker container and use the multiple storage backend with two different ceph backends. But after a few hours there are always problems. When navigating to a folder or file in the WebGUI, a “Dir/File not found” error appears. After a restart of the memcached docker container it works again for a while.

seafile.log shows this error:

../common/obj-store.c(139): Failed to get ObjBackend -- storage_id: ceph_perma_storage▒e

seahub.log this one:

Traceback (most recent call last):
  File "/opt/seafile/seafile-pro-server-10.0.12/seahub/thirdpart/django/core/handlers/exception.py", line 47, in inner
    response = get_response(request)
  File "/opt/seafile/seafile-pro-server-10.0.12/seahub/thirdpart/django/core/handlers/base.py", line 181, in _get_response
    response = wrapped_callback(request, *callback_args, **callback_kwargs)
  File "/opt/seafile/seafile-pro-server-10.0.12/seahub/seahub/auth/decorators.py", line 26, in _wrapped_view
    return view_func(request, *args, **kwargs)
  File "/opt/seafile/seafile-pro-server-10.0.12/seahub/seahub/base/decorators.py", line 59, in _decorated
    return func(request, *args, **kwargs)
  File "/opt/seafile/seafile-pro-server-10.0.12/seahub/seahub/views/file.py", line 488, in view_lib_file
    file_id = seafile_api.get_file_id_by_path(repo_id, path)
  File "/opt/seafile/seafile-pro-server-10.0.12/seafile/lib/python3/site-packages/seaserv/api.py", line 231, in get_file_id_by_path
    return seafserv_threaded_rpc.get_file_id_by_path(repo_id, path)
  File "/opt/seafile/seafile-pro-server-10.0.12/seafile/lib/python3/site-packages/pysearpc/client.py", line 127, in newfunc
    return fret(ret_str)
  File "/opt/seafile/seafile-pro-server-10.0.12/seafile/lib/python3/site-packages/pysearpc/client.py", line 25, in _fret_string
    raise SearpcError(dicts['err_msg'])
pysearpc.common.SearpcError: directory is missing

However, this only happens in the Web gui. Seadrive works
I have also tried to deactivate memecached for seahub but I get the same error

Hi Mowo,

Just to confirm, do you run the multi-storage backends as a redundancy? (Duplication, or just multiple storage locations?)

Kind regards,
Mitch

Hi Mitch,

just two different locations/pools no redundancy

Hi Mowo,

Now just another question, are these external storages (I.e. web connection), or are they multiple hard-drives on the same machine (mounted)?

Are all on the same machine or machines (hot&cold storage, pool of SSDs and a pool of HDDs)

It looks like, that the cache gets somehow corrupted

ceph_perma_storage

is the storage id but there are always some strange characters appended

ceph_perma_storage▒e

It may be worth removing and re-adding the connection to see if it is an issue with the connection to the drives.

Are they mounted on the local machine and then just pointed to? Or are you hosting on a server with a drive-pool being shared to the VM?

I can try taking out the second pool. But I don’t think that’s the problem, as access via Seadrive or the Clinet works perfectly. Only Seahub seems to have a problem after a while

Seafile runs in a VM and the ceph pools run on the host. So seafile accesses the pools directly as described in the seafile admin guide