folder marker missing, cannot delete the folder that its all about :-(

Syncthing provides a –reset-database option for purging its database.

Syncthing offers the option to tune how it uses its database, but I suspect that you are asking about doing what is common procedure for relational databases.

For the latter, the storage engine underneath LevelDB is nothing like the ones for PostgreSQL, MySQL, DB2, MS SQL, SQLite, etc.

In a nutshell…

(If you are familiar with managing a Apache Cassandra database, the following concepts are very similar.)

With LevelDB, new changes cached in RAM are written to a log file (files named *.log found in Syncthing’s index-*.db directory). Then at a specific threshold, the contents of the log file are flushed to a new SST file (the *.ldb files).

Once written, no further changes are made to a SST file. If compaction kicks in, the contents of a SST file are written to a new SST file in the process.

One benefit is avoiding file fragmentation. However, if the underlying filesystem is heavily fragmented, so will Syncthing’s *.log and *.ldb files due to a lack of contiguous filesystem blocks. There’s nothing that Syncthing can do about it. The choice of storage medium, filesystem and operating system for the database can be very important the more files there are being synced and the more frequently there are changes to the database.

1 Like

For what it’s worth I remember a problem from years back with database sprawl on 32 bit systems, I don’t recall if or how it was solved, perhaps some searching might yield something.

Right, Many small LDB files with database tuning. We handle this correctly in the auto case, make sure you haven’t manually set the database tuning to large because that won’t work. Or use a 64 bit build for large setups.

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.