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]