feat: add offset to QueuedCommand and flag to Command #3343
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.
Description
Breaking down the PR at #3330 into smaller pieces, this one focuses on the simpler task of adding new offset values and flags to the command objects. Validation will be done at a later date after more offline discussion. This PR is a precursor to updating the query id generating code for interactive mode.
The flag in Command is to indicate whether or not a command should use the old query id generation or use the new offset based query id. This is needed to ensure that if a server is relying on a command topic with old commands, the old commands will still follow the same pattern for query id generation and query ids are maintained if the server needs to restore.
The field in QueuedCommand represents the offset that the command was read from, it's assigned from the corresponding Kafka ConsumerRecord.offset()
Testing done
Local tests
Deserialization test for new Command
Update existing unit tests
Reviewer checklist