You are still correct for network filesystems, but there are no issues opening multiple connections on the same host (even across OCI container boundaries).
There are no data corruption risks in general for multiple processes on the same local filesystem, but the lock obtained by write operations is pretty aggressive. Multiple readers are okay but a single writer will cause transient errors in all other concurrent read and write operations (edit: though you can turn this into just blocking instead with pragma busy_timeout).
> Multiple readers are okay but a single writer will cause transient errors in all other concurrent read and write operations
While in WAL mode, readers and writers don't block one another.
> WAL provides more concurrency as readers do not block writers and a writer does not block readers. Reading and writing can proceed concurrently.
https://www.sqlite.org/wal.html
kbolino|1 year ago
infamia|1 year ago
While in WAL mode, readers and writers don't block one another.
> WAL provides more concurrency as readers do not block writers and a writer does not block readers. Reading and writing can proceed concurrently. https://www.sqlite.org/wal.html
gwd|1 year ago
They don't cause "transient errors", they cause transaction failures, which you should be handling by retrying the transaction anyway.