Skip to content

2.27.0.0-b539

@devansh5398 devansh5398 tagged this 07 Sep 12:30
Summary:
Call to GetConsistentChanges() suppresses all the error status it gets from virtual_wal's GetConsistentChangesInternal() apart from few ones (such as 'stream being inactive'
and 'intent records already GCed'). This behaviour of not responding most of the errors back to walsender causes problems such as walsender being unaware of internal issue
keep trying and thus being stuck.
This diff corrects this issue by sending back most of the errors back to walsender which GetConsistentChanges() gets from virtual_wal's GetConsistentChangesInternal(). The error
cases which are skipped from propagating back to client are: when tablet peer is not started yet, and when the tablet is not in kAvailable state.

Jira: DB-17654, DB-16451

Test Plan:
./yb_build.sh --cxx-test cdcsdk_consumption_consistent_changes-test --gtest_filter=CDCSDKConsumptionConsistentChangesTest.TestBeforeImageNotExistErrorPropagation
./yb_build.sh release --cxx-test cdcsdk_consumption_consistent_changes-test --gtest_filter=CDCSDKConsumptionConsistentChangesTest.TestBeforeImageNotExistErrorPropagation

Reviewers: sumukh.phalgaonkar, skumar, stiwary, asrinivasan, #db-approvers

Reviewed By: sumukh.phalgaonkar, #db-approvers

Subscribers: ycdcxcluster

Tags: #jenkins-ready

Differential Revision: https://phorge.dev.yugabyte.com/D45633
Assets 2
Loading