Fix LnkLst propagation of context_flag when replacing the root during erase #7414
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.
Jonathan reported a failure in a new evergreen runner that was running the client reset tests under a REALM_MAX_BPNODE_SIZE=4 configuration. It turns out that we have never run any sync tests with this enabled on CI. The test happened to hit a case of removing an element from a LnkLst that also had an invalidated object in it and this was causing strange failures.
We were using a ref lookup to get the context flag from an array that had just been deleted, so when doing an erase on a LnkLst that triggered a root_replace, the context flag was always false.
☑️ ToDos
bindgen/spec.yml
, if public C++ API changed