Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix: get all available restore commands even on poll timeout #6985

Merged
merged 1 commit into from
Feb 23, 2021

Conversation

rodesai
Copy link
Contributor

@rodesai rodesai commented Feb 10, 2021

Description

Our restore logic differentiates on restore behaviour vs "live" behaviour
to avoid making some newly added referential integrity checks and therefore
ensure we execute anything that was already logged. While this isn't the
best way to guarantee compatibility, it's what we're doing now and we have
a problem: sometimes the restore poll times out and returns no records,
so we don't execute any "restore" phase. This patch fixes this by first
sampling the end offset of the log and ensuring that all rows between the
begin and end are returned.

Testing done

Unit tests for command store. Restart of a running server.

Reviewer checklist

  • Ensure docs are updated if necessary. (eg. if a user visible feature is being added or changed).
  • Ensure relevant issues are linked (description should include text like "Fixes #")

@rodesai rodesai requested a review from a team as a code owner February 10, 2021 03:03
@rodesai rodesai force-pushed the fix-command-topic-execution branch from 98018df to 23cdb16 Compare February 10, 2021 03:04
Copy link
Contributor

@agavra agavra left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

thanks for the quick fix to the incident!

@rodesai rodesai changed the base branch from 0.15.x-ksqldb to master February 23, 2021 08:19
@rodesai rodesai requested a review from JimGalasyn as a code owner February 23, 2021 08:19
@rodesai rodesai changed the base branch from master to 0.15.x-ksqldb February 23, 2021 08:20
@rodesai rodesai removed the request for review from JimGalasyn February 23, 2021 08:20
our restore logic differentiates on restore behaviour vs live behaviour
to avoid making some newly added referential integrity checks and therefore
ensure we execute anything that was already logged. While this isn't the
best way to guarantee compatibility, it's what we're doing now and we have
a problem: sometimes the restore poll times out and returns no records,
so we don't execute any restore phase. This patch fixes this by first
sampling the end offset of the log and ensuring that all rows between the
begin and end are returned.
@rodesai rodesai force-pushed the fix-command-topic-execution branch from 23cdb16 to 64b2ddf Compare February 23, 2021 08:23
@rodesai rodesai changed the base branch from 0.15.x-ksqldb to master February 23, 2021 08:23
@rodesai rodesai merged commit 28a7ba9 into confluentinc:master Feb 23, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants