Skip to content
This repository has been archived by the owner on Sep 23, 2024. It is now read-only.

canceling statement due to conflict with recovery #113

Open
ashalitkin opened this issue Aug 9, 2021 · 4 comments
Open

canceling statement due to conflict with recovery #113

ashalitkin opened this issue Aug 9, 2021 · 4 comments
Labels
enhancement New feature or request

Comments

@ashalitkin
Copy link

Tap is frequently used to pull data from the postgres replica and a common issue in this case is "canceling statement due to conflict with recovery" especially for a full table sync. It happens when WAL comes to a replica (upon sync between master and a slave). The tap already has a mechanism to resume but no retry mechanism.
I think it would be helpful to be able to configure number of attempts a tap tries to pull the data.

@ashalitkin ashalitkin added the enhancement New feature or request label Aug 9, 2021
ashalitkin pushed a commit to ashalitkin/pipelinewise-tap-postgres that referenced this issue Aug 9, 2021
ashalitkin pushed a commit to ashalitkin/pipelinewise-tap-postgres that referenced this issue Aug 9, 2021
@ashalitkin
Copy link
Author

#114

@Samira-El
Copy link
Contributor

Hey, have you tried bumping max_standby_streaming_delay parameter?

The reason there is no tries to pull the data is that pipelines are usually run with a scheduler, so if they fail, they would try again in the next scheduled run.

@ashalitkin
Copy link
Author

Hey, max_standby_streaming_delay affects the replication / master performance and anyway for the long running queries we can still reach the limit.
Very frequently ETL runs e.g. once a day and after extract part is done some other tool transforms the data which will also fail in our case. In other words a manual action will be needed. Why not to do it automatic for this specific case?

@Samira-El
Copy link
Contributor

what makes you think that retrying several times would fix this issue?

Also, I see from the PR you've submitted that you're talking about full table sync, can't you incremental strategy instead?

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants