Interop: Integrate for new input flow #12213
Draft
+228
−135
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Builds from: #12204
The fixes so far are:
Currently Tracking Down:
Incomplete State when calling HeadPointer()
When attempting to get HeadPointers from the State, I see
To address this, I added logging to the error which shows which flags are still needed.
(note:
needs
is a set of bitmap flags which signal to the iterator state that it is expecting to infer some dataIn all cases, it was reported that the
CanonicalHash
flag was still set.Investigating
CanonicalHash
flag, I see it gets triggered for the iterator state from four locations:infer
after a checkpointNewIteratorAt
ProcessEntry
To be honest, I don’t really understand why a canonical hash should be flagged during some of these. I’m spending a little time to try to understand better.
In the meantime, to timebox: I figured that if there was a needed canonical hash in the iterator state, it wasn’t so bad and so for now I’m just jumping over that check.
it’s not clear that jumping over this check is the right thing to do, but given that the cause seems to be unnecessary
canonicalHash
needs, ignoring that error seems to be safe in the moment.