<html><head><meta http-equiv="Content-Type" content="text/html; charset=us-ascii"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class="">Yes, NFSv3 client side locking works pretty well so long as no shared concurrent write happens. A single node's os would assume successful lock for it to write to a file, when multiple nodes do this concurrently, the file will be corrupted. As with stack it can happen and rendering the tool unusable.<div class=""><br class=""></div><div class="">But NFSv4 server side locking can leave dead locks appear live, leading stack to wait forever. So we stay client side locking, and carefully have each node use different path on the shared storage for .stack folders, then reinitialize it in case corrupted by accident.<br class=""><div><br class=""><blockquote type="cite" class=""><div class="">On 2021-02-25, at 23:59, Sven Panne <<a href="mailto:svenpanne@gmail.com" class="">svenpanne@gmail.com</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><div dir="ltr" class=""><div dir="ltr" class="">Am Do., 25. Feb. 2021 um 15:59 Uhr schrieb Olaf Klinke <<a href="mailto:olf@aatal-apotheke.de" class="">olf@aatal-apotheke.de</a>>:<br class=""></div><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Speaking of which, is there a specification about what filesystem<br class="">
features stack and its sub-tools expect? I can not build stack projects<br class="">
on a remote cifs share, but on the local filesystem it works fine. The<br class="">
error is<br class="">
<br class="">
Encountered error while migrating Stack database:<br class="">
SQLite3 returned ErrorBusy while attempting to perform step:<br class="">
database is locked<br class="">
Please report this on <a href="https://github.com/commercialhaskell/stack/issues" rel="noreferrer" target="_blank" class="">https://github.com/commercialhaskell/stack/issues</a><br class="">
[...]<br class=""></blockquote><div class=""><br class=""></div><div class="">In ancient times, locking over NFS didn't work, or at least not reliably. With NFS 4, locking was added to the protocol IIRC, but I have no clue how good it works, especially when you mix various platforms/implementations. What the current state with CIFS regarding locking is: I don't know, but in general I don't really trust remote file systems in this area. :-}</div></div></div>
_______________________________________________<br class="">Haskell-Cafe mailing list<br class="">To (un)subscribe, modify options or view archives go to:<br class=""><a href="http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe" class="">http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe</a><br class="">Only members subscribed via the mailman list are allowed to post.</div></blockquote></div><br class=""></div></body></html>