Skip to content
This repository was archived by the owner on Oct 2, 2025. It is now read-only.

Conversation

@andr-sokolov
Copy link

@andr-sokolov andr-sokolov commented Aug 22, 2025

Support subset restore with on-error-continue mode

Add possibility to use on-error-continue with filtering.

Add the discardData method to the IRestoreReader interface. When an error
happens during COPY FROM execution, discardData is called to read the rest of
the table data from plugin's pipe. So the transition to the next table occurs
and the offset is positioned automatically.

In the case of discard error we don't stop the helper, because other helpers can
restore data on other segments. Another reason - hanging on COPY happens when
one helper stops before restoring a next table. Add the discardErr boolean field
to RestoreReader. This field is used in discardData and copyData to avoid
bufReader reading when an error has happened in discardData before.

When skip file is found, call discardData to move on the next table data.

Data written in writeTestTOC has now started to be used. Fix this data.

Ticket: ADBDEV-7890

@andr-sokolov andr-sokolov changed the title ADBDEV-7890 ADBDEV-7890 Support subset restore with on-error-continue mode Sep 3, 2025
@andr-sokolov andr-sokolov marked this pull request as ready for review September 3, 2025 06:44
@RekGRpth

This comment was marked as resolved.

@andr-sokolov
Copy link
Author

When an error
happens during COPY FROM execution, discardData is called to read the rest of
the table data from plugin's pipe.

Am I right in understanding that in this case we are reading data into nowhere, wasting the plugin?

Yes. The task is not to change plugin interface

@RekGRpth

This comment was marked as resolved.

@andr-sokolov andr-sokolov merged commit 8e15560 into master Sep 16, 2025
5 checks passed
@andr-sokolov andr-sokolov deleted the ADBDEV-7890 branch September 16, 2025 13:15
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants