Skip to content

fix(gbak): Stop blob reading when restore task receives stop signal #8529

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

Open
wants to merge 1 commit into
base: v5.0-release
Choose a base branch
from

Conversation

TreeHunter9
Copy link
Contributor

Prevents SIGFAULT by immediately stopping blob processing when a stop signal is received during restore operations.
This can happen when restoring in multiple threads. The problem in RestoreRelationTask::checkSpace where we don't check the result of getCleanBuffer() for nullptr and it causes corruption in IOBuffer linked list. This can lead to a sigfault in RestoreRelationTask::read_blob() where the checkSpace() function is called multiple times.

This was already fixed in v6 (commit), but I don't think the main purpose of that commit was to fix specifically this problem.

Prevents SIGFAULT by immediately terminating blob processing
when a stop signal is received during restore operations.
@hvlad
Copy link
Member

hvlad commented Apr 21, 2025

Hmm... looks like the whole fix for #8444 should be backported into v5, not just this part.
@AlexPeshkoff, what is your opinion ?

@AlexPeshkoff
Copy link
Member

Hmm... looks like the whole fix for #8444 should be backported into v5, not just this part. @AlexPeshkoff, what is your opinion ?

Agreed. Certainly backport it.

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.

3 participants