goutamadwant commented on PR #11512: URL: https://github.com/apache/seatunnel/pull/11512#issuecomment-5808344658
@SEZ9 Here are direct pointers at the current head `0b38a3d9b7c2`. None of F1-F8 is intentionally deferred. - **F1:** [limit = 100](https://github.com/apache/seatunnel/blob/0b38a3d9b7c2ee9fc5b3cf41bb213d9c022c2607/seatunnel-api/src/main/java/org/apache/seatunnel/api/cdc/CdcEnumeratorProgressReport.java#L38) and [constructor enforcement/truncation flag](https://github.com/apache/seatunnel/blob/0b38a3d9b7c2ee9fc5b3cf41bb213d9c022c2607/seatunnel-api/src/main/java/org/apache/seatunnel/api/cdc/CdcEnumeratorProgressReport.java#L124); [regression test](https://github.com/apache/seatunnel/blob/0b38a3d9b7c2ee9fc5b3cf41bb213d9c022c2607/seatunnel-api/src/test/java/org/apache/seatunnel/api/cdc/CdcProgressModelTest.java#L150). Aggregate counts retain their original full values. - **F2:** [native-position security rule](https://github.com/apache/seatunnel/blob/0b38a3d9b7c2ee9fc5b3cf41bb213d9c022c2607/docs/en/developer/cdc-progress.md#L34) explicitly forbids credentials, connection URLs, and authentication material. - **F3:** Independent literal-string wire fixtures [read enum names and compare writer bytes for reader reports](https://github.com/apache/seatunnel/blob/0b38a3d9b7c2ee9fc5b3cf41bb213d9c022c2607/seatunnel-engine/seatunnel-engine-server/src/test/java/org/apache/seatunnel/engine/server/task/operation/ReportCdcProgressOperationSerializationTest.java#L160) and [enumerator reports](https://github.com/apache/seatunnel/blob/0b38a3d9b7c2ee9fc5b3cf41bb213d9c022c2607/seatunnel-engine/seatunnel-engine-server/src/test/java/org/apache/seatunnel/engine/server/task/operation/ReportCdcProgressOperationSerializationTest.java#L201), including `BEST_EFFORT`, `EXACT`, `INCREMENTAL`, and `ASSIGNING`. An ordinal codec would not pass those byte comparisons. - **F4:** [runtime collection](https://github.com/apache/seatunnel/blob/0b38a3d9b7c2ee9fc5b3cf41bb213d9c022c2607/docs/en/developer/cdc-progress.md#L40) describes coordinator-derived enumerator task locations and requests to assigned members, not a separate location-registration protocol. - **F5:** [current limitations](https://github.com/apache/seatunnel/blob/0b38a3d9b7c2ee9fc5b3cf41bb213d9c022c2607/docs/en/developer/cdc-progress.md#L105) names the six base CDC connectors with provider wiring and explicitly says TiDB/Vitess are not wired; it does not claim equal precision or E2E coverage. - **F6:** [`SNAPSHOT` Javadoc](https://github.com/apache/seatunnel/blob/0b38a3d9b7c2ee9fc5b3cf41bb213d9c022c2607/seatunnel-api/src/main/java/org/apache/seatunnel/api/cdc/CdcProgressLifecycle.java#L22) is reader-only: “The reader is reading snapshot splits.” - **F7:** [constructor validation](https://github.com/apache/seatunnel/blob/0b38a3d9b7c2ee9fc5b3cf41bb213d9c022c2607/seatunnel-api/src/main/java/org/apache/seatunnel/api/cdc/CdcEnumeratorProgressReport.java#L118) rejects every negative count and inconsistent assigned/completed/running totals when all three are `EXACT`; [tests](https://github.com/apache/seatunnel/blob/0b38a3d9b7c2ee9fc5b3cf41bb213d9c022c2607/seatunnel-api/src/test/java/org/apache/seatunnel/api/cdc/CdcProgressModelTest.java#L173) exercise those rejection paths. Approximate counts are not falsely constrained as exact. - **F8:** [`CdcSnapshotSplitProgress`](https://github.com/apache/seatunnel/blob/0b38a3d9b7c2ee9fc5b3cf41bb213d9c022c2607/seatunnel-api/src/main/java/org/apache/seatunnel/api/cdc/CdcSnapshotSplitProgress.java#L24) is final with final fields, no setters, and immutable value objects; [`CdcProgressPosition`](https://github.com/apache/seatunnel/blob/0b38a3d9b7c2ee9fc5b3cf41bb213d9c022c2607/seatunnel-api/src/main/java/org/apache/seatunnel/api/cdc/CdcProgressPosition.java#L57) copies and wraps its coordinate map. The report copies the list before exposing it unmodifiable ([F1 constructor](https://github.com/apache/seatunnel/blob/0b38a3d9b7c2ee9fc5b3cf41bb213d9c022c2607/seatunnel-api/src/main/java/org/apache/seatunnel/api/cdc/CdcEnumeratorProgressReport.java#L124)). -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
