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
[CDCSDK] DBZ: Connector should resume snapshot if GetCheckpoint
returns a key
#19394
[CDCSDK] DBZ: Connector should resume snapshot if GetCheckpoint
returns a key
#19394
Comments
Update: This was not discovered in the tests because the test to verify this was marked with the annotation |
…checkpointing Summary: This diff modifies a method in `AsyncYBClient` which was earlier passing a `null` value to another overloaded method. The effect of this was that the `explicit_cdc_sdk_opid` was not even being passed to the service. Another thing this diff modifies is that while setting the checkpoint during snapshot, service was using the `from_op_id` whereas we should be using the `explicit_cdc_sdk_opid` if the stream is in `EXPLICIT` checkpointing mode. Jira: DB-8188 Test Plan: Run existing tests to verify regression. Reviewers: skumar, asrinivasan, stiwary Reviewed By: asrinivasan Subscribers: yugaware, ycdcxcluster Differential Revision: https://phorge.dev.yugabyte.com/D29060
…er in explicit checkpointing Summary: Original commit: 21ae05f / D29060 This diff modifies a method in `AsyncYBClient` which was earlier passing a null value to another overloaded method. The effect of this was that the `explicit_cdc_sdk_opid` was not even being passed to the service. Another thing this diff modifies is that while setting the checkpoint during snapshot, service was using the `from_op_id` whereas we should be using the `explicit_cdc_sdk_opid` if the stream is in `EXPLICIT` checkpointing mode. **2.18 only note:** Skipping the yb-client version changes from the original diff while backporting. Jira: DB-8188 Test Plan: Run existing tests to verify there's no regression Reviewers: skumar, asrinivasan, stiwary Reviewed By: asrinivasan Subscribers: ycdcxcluster Differential Revision: https://phorge.dev.yugabyte.com/D29095
…not null Summary: This diff modifies the way we populate the key in the `from_op_id` and `explicit_op_id` parameter of `GetChangesRequest` and now we will only set the key if it is not `null` - if it is `null` then we will not do anything to key. Jira: DB-8188 Test Plan: Jenkins: java only Reviewers: skumar, stiwary, asrinivasan Reviewed By: skumar Subscribers: ycdcxcluster, yugaware Differential Revision: https://phorge.dev.yugabyte.com/D29124
…er in explicit checkpointing Summary: Original commit: 21ae05f / D29060 This diff modifies a method in `AsyncYBClient` which was earlier passing a `null` value to another overloaded method. The effect of this was that the `explicit_cdc_sdk_opid` was not even being passed to the service. Another thing this diff modifies is that while setting the checkpoint during snapshot, service was using the `from_op_id` whereas we should be using the `explicit_cdc_sdk_opid` if the stream is in `EXPLICIT` checkpointing mode. **2.20 only note:** Skipping the `yb-client` version changes from the original diff while backporting. Jira: DB-8188 Test Plan: Run existing tests to verify no regression. Reviewers: skumar, stiwary, asrinivasan Reviewed By: asrinivasan Subscribers: ycdcxcluster Differential Revision: https://phorge.dev.yugabyte.com/D29122
…eter in explicit checkpointing Summary: Original commit: 21ae05f / D29060 This diff modifies a method in `AsyncYBClient` which was earlier passing a `null` value to another overloaded method. The effect of this was that the `explicit_cdc_sdk_opid` was not even being passed to the service. Another thing this diff modifies is that while setting the checkpoint during snapshot, service was using the `from_op_id` whereas we should be using the `explicit_cdc_sdk_opid` if the stream is in `EXPLICIT` checkpointing mode. **2.19.3 only note:** Skipping the `yb-client` version changes from the original diff while backporting. Jira: DB-8188 Test Plan: Run existing tests to verify no regression. Reviewers: skumar, stiwary, asrinivasan Reviewed By: asrinivasan Subscribers: ycdcxcluster Differential Revision: https://phorge.dev.yugabyte.com/D29126
…st` when it is not null Summary: Original commit: f3dddd3 / D29124 This diff modifies the way we populate the key in the `from_op_id` and `explicit_op_id` parameter of `GetChangesRequest` and now we will only set the key if it is not `null` - if it is `null` then we will not do anything to key. **2.18 only note:** Skipping the version changes in yb-client. Jira: DB-8188 Test Plan: Run existing tests. Reviewers: skumar, asrinivasan, stiwary Reviewed By: skumar Subscribers: ycdcxcluster Differential Revision: https://phorge.dev.yugabyte.com/D29191
…st` when it is not null Summary: Original commit: f3dddd3 / D29124 This diff modifies the way we populate the key in the `from_op_id` and `explicit_op_id` parameter of `GetChangesRequest` and now we will only set the key if it is not `null` - if it is `null` then we will not do anything to key. **2.20 only note:** Skipping the version changes in yb-client. Jira: DB-8188 Test Plan: Run existing tests. Reviewers: skumar, stiwary, asrinivasan Reviewed By: skumar Subscribers: ycdcxcluster Differential Revision: https://phorge.dev.yugabyte.com/D29193
…uest` when it is not null Summary: Original commit: f3dddd3 / D29124 This diff modifies the way we populate the key in the `from_op_id` and `explicit_op_id` parameter of `GetChangesRequest` and now we will only set the key if it is not `null` - if it is `null` then we will not do anything to key. **2.19.3 only note:** Skipping the version changes in yb-client. Jira: DB-8188 Test Plan: Run existing tests. Reviewers: skumar, stiwary, asrinivasan Reviewed By: skumar Subscribers: ycdcxcluster Differential Revision: https://phorge.dev.yugabyte.com/D29192
Jira Link: DB-8188
The PR yugabyte/debezium-connector-yugabytedb#272 has introduced one regression in the connector with regard to the snapshot resume capability. This was discovered when one of the connector unit tests started failing i.e.
YugabyteDBSnapshotResumeTest
Current logic is as follows:
GetCheckpoint
RPCsnapshot_key
is present, then take the snapshotYugabyteDBOffsetContext#snapshotStartLsn
Now, in step 3 above, we are assigning a
from_op_id
which indicates to take snapshot from the beginning regardless of whether theGetCheckpoint
returns a checkpoint to resume.The text was updated successfully, but these errors were encountered: