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 graphql resolve off empty store #4410
Conversation
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.
Trying reproducing the issue today with no success on both master
and on this branch @dwsutherland 😅 can't tell if it was due to some other update in master
, if today my workflows were not stopped quickly enough, or something else.
But I trust you'll know whether this change makes sense or not. It probably needs a test - if doable. But doesn't break anything for the command CLI or UI when starting/stopping workflows, so +1.
Thanks!
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.
@dwsutherland - can you add a comment to the code, to explain how we end up here? Also, can existing tests be tweaked to cover this too?
I don't think I've got to the bottom of this.. investigating further.. |
@dwsutherland are you able to reproduce the issue on |
Yes, I can.. I can do it with just one workflow, and the minimum subscription appears to be:
Not this:
and not this:
I think this is because there is some mixing between delta-stores of the
and the
I couldn't figure out why it was even trying to resolve It's clear they must be setting and resolving off a common object somewhere.. (probably the stripping, since I can only reproduce with it turned on) And the randomness is just the UIS scan proximity to the shutdown delta (closer they are, more likely it is to happen).. This explains why it only happens with updates (not added) |
So I will push a proper fix to this PR when I find out exactly what is is. |
Got it @dwsutherland ! I thought it was fixed since I couldn't reproduce it anymore on the UI with |
Actually I've found I can cause this issue without the |
Note: just saw this error on the branch for fixing an enum issue #4409
Just commenting because I thought the issue had been fixed on |
Not sure I understand.. because this is the PR that's suppose to fix it. |
Sorry for the confusing comment @dwsutherland . Last week I couldn't reproduce the bug on |
That's the thing, and why I haven't push a final fix yet.. There's an underlying issue causing the randomness, like a race condition.. I think I know where it is.. but need to investigate more. |
Two issues here:
And protobuf will return and empty string without stripping, which is why we only get this error with stripping (as it sets it to
So the I will try to address the first one in this PR, but create a new issue for the second point. |
Great detective work @dwsutherland !!! 👏
Sounds right to me.
Thanks |
00dc6a6
to
af5eb49
Compare
I've pushed the fix.. But not quite sure how to write a test for it really. |
These changes close cylc/cylc-uiserver#247
Requirements check-list
CONTRIBUTING.md
and added my name as a Code Contributor.setup.py
andconda-environment.yml
.