JNSimba opened a new pull request, #63471:
URL: https://github.com/apache/doris/pull/63471

   ### What problem does this PR solve?
   
   Extend CDC streaming-job regression coverage across MySQL/Postgres for 
primary-key related scenarios that the existing suites did not exercise; plus a 
small cdc-client follow-up to #63219 so split-bound restore handles the modern 
java.time types that some JDBC drivers return by default.
   
   #### Regression cases added
   
   | Case | Tables | Guarded by |
   |---|---|---|
   | `*_composite_pk` | composite PK + full-PK mapping table | composite PK 
chunk split + INSERT/UPDATE/DELETE locating across all PK columns; 
tenant/org-boundary chunk slicing |
   | `*_snapshot_with_concurrent_dml` | 1000-row table + unrelated decoy | 
source-side INSERT/UPDATE/DELETE during snapshot phase converges correctly; 
unrelated table outside include_tables not leaked |
   | `*_id_gap_completeness` | dense id 1~100 + outlier id 10000000 + 
post-outlier 10000001~10000100 | snapshot reader covers tail rows past the 
chunk-time max without dropping; binlog DML across all three id regions applies 
correctly |
   | `*_decimal_pk` | DECIMAL(20,4) PK + (MySQL only) BIGINT UNSIGNED PK | 
evenly-path BigDecimal / BigInteger arithmetic in chunk splitter; bigint 
unsigned values up to 2^64-1 |
   | \`mysql_*_datetime_pk\` | DATETIME(6) PK + composite (DATETIME, id) PK | 
java.time.LocalDateTime split-bound JSON round-trip; composite temporal PK 
locating |
   
   #### cdc-client follow-up to #63219
   
   \`AbstractCdcSourceReader.convertBound\` was added in #63219 with 
\`java.sql.Date/Time/Timestamp\` valueOf branches but missed Java 8 types. 
MySQL Connector/J 8.x returns DATETIME columns as \`LocalDateTime\` by default, 
so its split-bound restore failed with:
   
   \`\`\`
   Java 8 date/time type \`java.time.LocalDateTime\` not supported by default
   \`\`\`
   
   Refactor into a static Map registry so new bound types are one-liners, and 
add \`LocalDateTime\` / \`LocalDate\` / \`LocalTime\` / \`OffsetDateTime\` 
entries using \`parse\`.
   
   ### Release note
   
   Add CDC streaming-job regression suites for composite PK / snapshot-time 
concurrent DML / id-gap completeness / DECIMAL+BIGINT UNSIGNED PK / DATETIME 
PK; fix CDC split-bound restore to support Java 8 date/time types.
   
   ### Check List (For Author)
   
   - Test
       - [x] Regression test
       - [ ] Unit Test
       - [ ] Manual test
       - [ ] No need to test
   
   - Behavior changed:
       - [x] No
       - [ ] Yes
   
   - Does this need documentation?
       - [x] No
       - [ ] Yes


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


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to