-
Notifications
You must be signed in to change notification settings - Fork 1.4k
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
Move version check earlier #6674
Conversation
// For the latter case, internals may be unexpectedly null. | ||
if (retVal == null || version != CurrentSerializationVersion) | ||
{ | ||
log.LogMessageFromResources("General.CouldNotReadStateFileMessage", stateFile, log.FormatResourceString("General.IncompatibleStateFileType")); |
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.
I think it continues to make sense for this to be a quiet message. But do we have a test in place that this is not the case for freshly-built-everything using the SDK cache?
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.
We do not. If I remember correctly, we decided it would be too hard for some reason.
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.
Can we at least get it added to the manual SDK tests?
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.
Yeah, that sounds like a good idea to me. @marcpopMSFT, agree? If so, I can write up some (very detailed) instructions on testing it.
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.
Please reach out to Richa with the scenario you want covered. The difficulty with fresh machine tests as you can only have one.
src/Tasks/StateFileBase.cs
Outdated
byte version = 0; | ||
translator.Translate(ref version); | ||
// If retVal is still null or the version is wrong, log a message not a warning. This could be a valid cache with the wrong version preventing correct deserialization. | ||
// For the latter case, internals may be unexpectedly null. | ||
if (retVal == null || version != CurrentSerializationVersion) |
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.
retval will always be null here, right?
if (retVal == null || version != CurrentSerializationVersion) | |
if (version != CurrentSerializationVersion) |
… into move-version-check
// For the latter case, internals may be unexpectedly null. | ||
if (retVal == null || version != CurrentSerializationVersion) | ||
{ | ||
log.LogMessageFromResources("General.CouldNotReadStateFileMessage", stateFile, log.FormatResourceString("General.IncompatibleStateFileType")); |
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.
Can we at least get it added to the manual SDK tests?
src/Tasks/StateFileBase.cs
Outdated
// If retVal is still null or the version is wrong, log a message not a warning. This could be a valid cache with the wrong version preventing correct deserialization. | ||
// For the latter case, internals may be unexpectedly null. |
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.
Update comment
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.
LGTM
Please reach out to Richa with the scenario you want covered. The difficulty with fresh machine tests as you can only have one.
What was the status on this? A manual SDK test was mentioned
I still need to write instructions. Bit behind on that front. |
Fixes #6659
The version check was previously after having deserialized everything else. This doesn't make sense and can lead to errors. In this PR, I moved it up.