-
Notifications
You must be signed in to change notification settings - Fork 400
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Making _build dir locking opt-in #6967
Comments
It seems to me that preventing multiple For other commands, I agree, the answer may be less straightforward. |
Don't we want to essentially do RPC for all these commands? The idea is to have an RPC server started always, and if there is one already running (with possession of the lock), we connect to it. AFAIK for this to happen, we need a good way of relaying the display back to the user from the server. That was part of the motivation to refactor the display stuff. @rgrinberg knows more about how this is going. |
Yes, I agree that the RPC is probably going to solve some of these issues and that we're going to have good solutions for that in several minor releases. |
Maybe we need a command that is Or better yet, make But at the very least, I am OK with an (opt-in) backdoor around the lockfile, since people were essentially relying on a bug, until we can provide a better workflow. |
It doesn't seem like the issue is big enough to warrant an unsafe escape hatch. |
Here's a recent example of a user being stuck because |
|
There's already a workaround with |
ok, thanks. from what I'm reading the consensus is that we agree that situation is not great but that we have enough workarounds for the common cases and that we're going to improve the situation in further releases. In other words, nothing needs to be done for 3.7 and I'm closing this issue. Thanks everyone. |
@emillon Should we perhaps document the work arounds in the faqs or something? |
I agree with Etienne's conclusion. I don't see the point of documenting workarounds since these are all issues some of us are actively working on at the moment. Let's try to get a prototype of |
Documenting here a couple of use cases where either the existing workarounds are lacking or missing.
In general, I feel the trend added by this If there is some |
In #6360 (dune 3.6.0) we added a lock to make sure that concurrent
dune
processes can not share a_build
directory. We went from never locking from always locking, which can be a bit too restrictive and seems to break some workflows. For exampledune exec
does not need a lock if no build happens, which is almost always the case if a concurrentdune build -w
is running.There has been some efforts in relaxing when the lock happens, so these cases should get less common. But when it happens the drawback is important (the workflow becomes impossible).
So my suggestion is to put this feature behind a configuration option until we're more confident that locking is only done when necessary or that there are sufficient escape hatches that we can turn this on by default (of course this also means that dune developers and power users should be encouraged to enable this and report remaining issues).
What do you think?
The text was updated successfully, but these errors were encountered: