fix dynamoevents iterator compat #50735
Merged
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.
This PR adds back combat logic to allow the current dynamoevents implementation to be able to decode cursors returned by instances using the v1 aws sdk (cursor format changed during our switch to sdk v2).
It isn't uncommon for us to forego cross-compat logic when changing cursor formats since most cursors are ephemeral things that only live for a few milliseconds, and an error in an individual request during an upgrade isn't usually anything to worry about. However, this particular cursor value is used as persistent on-disk state by the event exporter. The lack of cross-compat meant that event-handlers could become permanently broken when the control plane was upgraded, as their requests would repeatedly fail due to auth being unable to decode the cursor sent in the request.
Fixes #50554
changelog: fixed an issue that could cause teleport event handlers to become stuck in an error loop upon upgrading to v17 (fix requires upgrading auth server).