-
Notifications
You must be signed in to change notification settings - Fork 13
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
Fix state exec
not working when optin.unstable.async_runtime
is enabled.
#3332
Conversation
mitchell-as
commented
May 29, 2024
•
edited by github-actions
bot
Loading
edited by github-actions
bot
DX-2868 `state exec` throws nil pointer error when `optin.unstable.async_runtime` is enabled. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The issue here is that async is not returning a runtime.
Async = don't source runtime updates. It does not mean "don't even initialize a runtime".
The bug here is taht async is returning nil. It should return the runtime as-is, without doing any update.
I don't think overrideAsyncTriggers
should exist at all.
btw I fixed this in my runtime refactor, but probably good to land this independently as well in case the refactor takes much longer. |
@Naatan Well I need a runtime update for my test in #3331, and this is the smallest change that makes it work. Since you've already refactored this, is it worth me trying to refactor it now? I don't even understand the whole async thing, let alone why If you'd like me to make changes, please be more specific. I don't want to burn more time guessing what you mean. |
I believe what should happen is:
Sorry if I'm not being clear, I thought I was but it can sometimes be hard to have the right perspective. Basically when we request a runtime we do two things; we retrieve the runtime as it exists on disk, and then if we find that state to be outdated with the commit ID requested we update it, and then return the updated runtime. What async tells us is to not go through that update logic. Just return the runtime as it exists on disk. It does not mean "don't even give me a runtime". |
That didn't work. I'm getting a weird error when running
I'm reluctant to spend time trying to debug and develop this further considering it will be throwaway code. |
I'm going to close this. I only opened it so that we could track that |
Ah if it's only for async runtimes then yeah no harm waiting. |