Seadrive-fuse is not calling /api2/repos anymore?


We are using seafile 6.3, and user can mount there seafile libraries with seafuse in docker container.

With seafile-server 6.3 we have for each user every 30 seconds theses request

[27/Oct/2021:14:50:13 +0200] “GET //api2/account/info/ HTTP/1.1” 503 4454 “-” “SeaDrive/2.0.16 (Linux)” -
[27/Oct/2021:14:50:13 +0200] “GET //api2/repos/ HTTP/1.1” 503 4454 “-” “SeaDrive/2.0.10 (Linux)” -

And we was really not happy about that because /api2/repos produce a lot of request every 30 seconds especially with a lot of users.

After that, switching to seafile-server 8.0.7, remounting user libraries with fuse this request is not present anymore ( and we are really happy about that )

instead we have theses kind of request

[27/Oct/2021:15:12:34 +0200] "GET /seafhttp/accessible-repos/?repo_id=961fca75-709c-4d81-9e21-5c3906eaefdf HTTP/1.1" 200 22227 "-" "SeaDrive/2.0.10 (Linux)" -

It’s great, we are not fetching all the repos and checking permission every 30 seconds, that wasn’t scaling well, we are hapy with that.

But why is this happening ??? We just changed the seafile-server, not seafuse

The only changes about seafile-server on fuse that I see is this

Server version 6.3 is too old. I suggest you upgrade to a newer supported version. The later you upgrade, the more errors will occur.

Recent versions of SeaDrive switched to “accessible-repos” API, to avoid consuming too much resources on the Python-based seahub process. C implementation is a bit more efficient than Python. It still checks the library list every 30 seconds. But in Pro edition a library list cache mechanism is added to avoid high load on database.