fix: remember keys_changed_at when reallocating after node replacement. #173
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.
If a user's current storage node is decomissioned, they may end up
without an active
users
record in the db, and there is code tohandle this case by lazily recreating an active record on demand.
Previously, this code would only copy
generation
andclient_state
fields, essentially forgotten any previously-seen value for the new
keys_changed_at
field. This commit fixes things so that value isalso remembered.
I do not expect this bug to have caused any issues in practice, since
we already have a bunch of code to handle users for which we have
not yet seen a value of
keys_changed_at
. But we should remember itwhen we can because it helps the server enforce that clients are
behaving correctly.