Uploading large files to *one* library fails

Hi,

one of my colleagues reported that the linux desktop client fails to upload a large file to one specific library. On the client side seafile.log contains the following lines:

[11/24/16 11:17:19] sync-mgr.c(660): Repo 'Share' sync state transition from 'synchronized' to 'committing'.
[11/24/16 11:18:01] repo-mgr.c(6485): Removing store /uni-mainz.de/[...]/Seafile/.seafile-data/deleted_store/commits/e6932945-c433-42fd-8c31-22e1060316a9
[11/24/16 11:23:35] ../common/fs-mgr.c(592): failed to close block 76f395cc9dfa0d432058b9a4230adff72926b44e.
[11/24/16 11:23:35] CDC: failed to write chunk.
[11/24/16 11:23:35] ../common/fs-mgr.c(872): Failed to chunk file with CDC.
[11/24/16 11:23:35] repo-mgr.c(1093): Failed to index file /uni-mainz.de/[...]/GAIA_ARCHIVE.MATHEMATIK.UNI-MAINZ.DE.out.

But when I tried the same from another computer, also linux, the same desktop client, I was able to sync another file, that was even a little larger (8.5 GByte instead of 7.6 GByte), but not the original file.

But I was able to sync the original file without any problem to one of my libraries.

In another test, using a third computer and different files, the error was reproducible but only within the library in which the error first occured and with a much larger file (13.6 GByte).

[11/25/16 11:47:43] ../common/fs-mgr.c(592): failed to close block
2a3ab4a62438e605234134e176950b02843d251f.
[11/25/16 11:47:43] CDC: failed to write chunk.
[11/25/16 11:47:43] ../common/fs-mgr.c(872): Failed to chunk file with CDC.
[11/25/16 11:47:43] repo-mgr.c(1093): Failed to index file
/uni-mainz.de/[...]/Seafile/Share/10xdebian-live-8.6.0-amd64-gnome-desktop.iso.

The same file synced without any problems when another library was chosen.

It looks like that the library itself has a problem, but seaf-fsck.sh reported no errors.

Best regards and thanks for any help in advance,

Thomas

It gets even more interesting:

After removing the 13,6 GByte file from the library where it failed to sync and adding it again, it worked:

[11/25/16 12:13:07] sync-mgr.c(660): Repo 'Share' sync state transition from 'synchronized' to 'committing'.
[11/25/16 12:16:15] repo-mgr.c(2429): Creating partial commit after adding 10xdebian-live-8.6.0-amd64-gnome-desktop.iso.
[11/25/16 12:16:15] sync-mgr.c(660): Repo 'Share' sync state transition from 'committing' to 'uploading'.
[11/25/16 12:16:15] http-tx-mgr.c(3272): Upload with HTTP sync protocol version 1.
[11/25/16 12:16:15] http-tx-mgr.c(1012): Transfer repo 'e6932945': ('normal', 'init') --> ('normal', 'check')
[11/25/16 12:16:15] http-tx-mgr.c(1012): Transfer repo 'e6932945': ('normal', 'check') --> ('normal', 'commit')
[11/25/16 12:16:15] http-tx-mgr.c(1012): Transfer repo 'e6932945': ('normal', 'commit') --> ('normal', 'fs')
[11/25/16 12:16:15] http-tx-mgr.c(1012): Transfer repo 'e6932945': ('normal', 'fs') --> ('normal', 'data')
[11/25/16 12:16:35] http-tx-mgr.c(1012): Transfer repo 'e6932945': ('normal', 'data') --> ('normal', 'update-branch')
[11/25/16 12:16:35] http-tx-mgr.c(1012): Transfer repo 'e6932945': ('normal', 'update-branch') --> ('finished', 'finished')
[11/25/16 12:16:35] sync-mgr.c(660): Repo 'Share' sync state transition from 'uploading' to 'initializing'.
[11/25/16 12:16:35] sync-mgr.c(1479): Removing blocks for repo Share(e6932945).
[11/25/16 12:16:38] sync-mgr.c(660): Repo 'Share' sync state transition from 'synchronized' to 'committing'.
[11/25/16 12:16:38] repo-mgr.c(3449): All events are processed for repo e6932945-c433-42fd-8c31-22e1060316a9.
[11/25/16 12:16:38] sync-mgr.c(660): Repo 'Share' sync state transition from 'committing' to 'synchronized'.

Is the “Seafile” folder of that client located in an NFS share? Failing to “close” a file can usually happen on NFS shares, but not in local file systems.

Hi Jonathan,

ah sorry, I thought Thomas had already mentioned that!

Yes, the Seafile folder is on an NFS share…

Regards,
Moritz