DanielLeens commented on PR #11512:
URL: https://github.com/apache/seatunnel/pull/11512#issuecomment-6266723417

   Thanks, @SEZ9, and thanks @goutamadwant for the patience. To save a round 
trip, I checked the F1-F8 list directly against the current head `d2f8193c97` 
(source read only, nothing was run locally). Please treat this as a pointer for 
the author's own confirmation rather than a replacement for it.
   
   | Item | State at `d2f8193c97` | Evidence |
   |---|---|---|
   | F1 `activeSplits` bound | Fixed in the model, not only in the codec | 
`CdcEnumeratorProgressReport` defines `MAX_ACTIVE_SPLITS = 100`; the 
constructor keeps `subList(0, min(size, 100))` and sets 
`activeSplitsTruncated`. The codec also reads the list with `readSize(..., 
MAX_ACTIVE_SPLITS)`. Test: 
`CdcProgressModelTest#testEnumeratorReportBoundsActiveSplitDetails`. |
   | F2 secrets in positions | Fixed | `docs/en/developer/cdc-progress.md` 
("Position payloads must contain only offset coordinates ... must never contain 
credentials, connection URLs, or other authentication material"). |
   | F3 enum encoding | Fixed | `CdcProgressReportSerializer` writes owner, 
lifecycle, accuracy and assignment status via `name()`. Tests: 
`ReportCdcProgressOperationSerializationTest` has literal named wire fixtures 
plus `testEveryProgressAccuracyRoundTripsByName` and siblings for the other 
enums. |
   | F4 runtime-collection wording | Fixed | The "Runtime collection" section 
now describes the coordinator-owned, registration-style enumerator collection 
path. |
   | F5 implementing connectors | Fixed | "Current limitations" lists MySQL, 
PostgreSQL, Oracle, SQL Server, DB2, MongoDB, plus OceanBase and openGauss, and 
names TiDB/Vitess as not wired. |
   | F6 `SNAPSHOT` Javadoc | Fixed | `CdcProgressLifecycle.SNAPSHOT` now reads 
"The reader is reading snapshot splits." with no enumerator-owned wording. |
   | F7 count invariants | Fixed | The constructor rejects negative counts and 
enforces `assigned == completed + running` when all three are `EXACT`. Tests: 
`testEnumeratorReportRejectsInvalidCounts` and 
`testEnumeratorReportRejectsEachNegativeCountIndependently`. |
   | F8 element immutability | Fixed | `CdcSnapshotSplitProgress` is a final 
class with final fields, and the test 
`testEnumeratorReportActiveSplitWatermarksAreDeeplyImmutable` covers it. |
   
   Two things still stand, neither new:
   
   1. My own carryover from the earlier comment is unchanged. 
`CdcProgressReportSerializer` bounds entry and field counts 
(`MAX_BATCH_ENTRIES`, `MAX_POSITION_FIELDS`) but not individual string length 
or total frame size. It is Medium and non-blocking for diagnostics-only data, 
and a fast-follow is fine as long as it is called out in the PR description.
   2. The PR currently reports `mergeStateStatus: DIRTY` (the head is behind 
`dev` and the branches have diverged). @goutamadwant, please sync the latest 
`dev` and resolve the conflicts before the final pass; the required `Build` is 
green on the current head, so that is the only thing pending on the CI side.
   
   @SEZ9, from my side nothing else is open. Happy to defer to your final pass 
once the author confirms the mapping above. Thanks again, everyone!
   


-- 
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]

Reply via email to