Deleted Libraries/Repos Still Show up in seaf-fsck

Hello,

When I run “seaf-fsck -r,” the check still checks two Libraries/Repos that I have deleted. These repos do not show up in the UI, not even the trash. Per the manual, I tried running:

cd <install-path>/seafile-server-latest
./seahub.sh python-env python3 seahub/manage.py clear_invalid_repo_data

However, the libraries still show up when I run the fsck. Interesting, they do not show up when I run a GC. I also ran a GC with the -r option but it did not have any affect.

How can I remove these lingering objects?

Thanks
Ray

Can anyone comment on this? How can I completely remove these old libraries/repos?

Thanks
Ray

What’s your output of seaf-fsck -r?

Hello @daniel.pan,

Appreciate your taking a look:

./seaf-fsck.sh -r

Starting seaf-fsck, please wait ...

2021-09-10 12:07:21 fsck.c(610): Running fsck for repo fed28b74-e155-4dd8-af0c-0cefc6268e20.
2021-09-10 12:07:21 fsck.c(435): Checking file system integrity of repo ########(fed28b74)...
2021-09-10 12:31:20 fsck.c(674): Fsck finished for repo fed28b74.

2021-09-10 12:31:20 fsck.c(610): Running fsck for repo a5f89f1c-1c7f-4522-9901-916390d2574b.
2021-09-10 12:31:20 fsck.c(435): Checking file system integrity of repo ######(a5f89f1c)...
2021-09-10 12:31:20 fsck.c(674): Fsck finished for repo a5f89f1c.

2021-09-10 12:31:20 fsck.c(610): Running fsck for repo 85e9295d-c49c-479f-805f-d57e68ad7299.
2021-09-10 12:31:20 fsck.c(435): Checking file system integrity of repo My Library Template(85e9295d)...
2021-09-10 12:31:20 fsck.c(674): Fsck finished for repo 85e9295d.

2021-09-10 12:31:20 fsck.c(610): Running fsck for repo 787caf55-3863-404e-95b7-b2dfd0a558e8.
2021-09-10 12:31:20 fsck.c(435): Checking file system integrity of repo ########(787caf55)...
2021-09-10 12:51:30 fsck.c(674): Fsck finished for repo 787caf55.

2021-09-10 12:51:30 fsck.c(610): Running fsck for repo 49108d1f-ef27-4812-8784-f58aff50f1ab.
2021-09-10 12:51:30 fsck.c(435): Checking file system integrity of repo ##########(49108d1f)...

2021-09-10 13:33:15 fsck.c(674): Fsck finished for repo 49108d1f.

2021-09-10 13:33:15 fsck.c(610): Running fsck for repo 3adb32ea-7c3a-4a9d-abf6-1bad15035ab2.
2021-09-10 13:33:15 fsck.c(435): Checking file system integrity of repo #####(3adb32ea)...
2021-09-10 13:35:14 fsck.c(674): Fsck finished for repo 3adb32ea.

seaf-fsck run done

Done.

Thanks
Ray

Can you check seafile database?

select * from Repo;

Do you find those deleted libraries?

Thanks @Jonathan

Yes, and a duplicate is also in RepoInfo

MariaDB [seafile_db]> select * from RepoInfo;
±—±-------------------------------------±--------------------±------------±--------±-------------±--------------------±-------+
| id | repo_id | name | update_time | version | is_encrypted | last_modifier | status |
±—±-------------------------------------±--------------------±------------±--------±-------------±--------------------±-------+
| 1 | 85e9295d-c49c-479f-805f-d57e68ad7299 | My Library Template | 1574788723 | 1 | 0 | system | 0 |
| 2 | fed28b74-e155-4dd8-af0c-0cefc6268e20 | ###### | 1631636846 | 1 | 0 | ############ | 0 |
| 3 | 787caf55-3863-404e-95b7-b2dfd0a558e8 | ###### | 1628368031 | 1 | 0 | ############ | 0 |
| 5 | 49108d1f-ef27-4812-8784-f58aff50f1ab | ###### | 1628368006 | 1 | 0 | ############ | 0 |
| 6 | 634c7c6c-1cdf-432d-9258-eb82cb480e80 | ###### | 1575553133 | 1 | 0 | ############ | 0 |
| 7 | 3adb32ea-7c3a-4a9d-abf6-1bad15035ab2 | ###### | 1584394723 | 1 | 0 | ############ | 0 |
| 8 | a5f89f1c-1c7f-4522-9901-916390d2574b | ###### | 1584394789 | 1 | 0 | ############ | 0 |
±—±-------------------------------------±--------------------±------------±--------±-------------±--------------------±-------+
7 rows in set (0.00 sec)

MariaDB [seafile_db]> select * from Repo;
±—±-------------------------------------+
| id | repo_id |
±—±-------------------------------------+
| 7 | 3adb32ea-7c3a-4a9d-abf6-1bad15035ab2 |
| 5 | 49108d1f-ef27-4812-8784-f58aff50f1ab |
| 3 | 787caf55-3863-404e-95b7-b2dfd0a558e8 |
| 1 | 85e9295d-c49c-479f-805f-d57e68ad7299 |
| 8 | a5f89f1c-1c7f-4522-9901-916390d2574b |
| 2 | fed28b74-e155-4dd8-af0c-0cefc6268e20 |
±—±-------------------------------------+
6 rows in set (0.01 sec)

In RepoInfo, “634c7c6c-1cdf-432d-9258-eb82cb480e80” and “3adb32ea-7c3a-4a9d-abf6-1bad15035ab2” have the same name, but it is one of the repos that should have been deleted.

Thanks
Ray

Does these repo id exist in VirtualRepo table? If so, it means they’re “virtual libraries” created for shared folders. It’s normal that fsck still checks them.

Thanks @Jonathan, yes two of he three show up in VirtualRepos, however I am not sharing either via any shared folders. Is it possible that I had them synced to other devices and did not properly remove them from those devices? Would deleting said devices from “Linked Devices” help? How can I see what within my environment is still “using” them and remove them.

Hi,

Virtual libraries are also be created when you sync a folder within a library. Currently virtual libraries are removed when you remove the parent library. Unsharing or unsyncing the folder cannot remove the virtual library.

Thanks @Jonathan

Two additional questions.

  1. It is unfortunate that I cannot delete these virtual libraries that are no longer in use by any client. How can I tell how much space they are using and potentially delete some of that data?

  2. I have another repo that is a virtual library, but shows up twice (by name) in the RepoInfo table with a different repo_id. What could this be and how can I get rid of it?

Your assistance is appreciated.
Ray