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

   ### What problem does this PR solve?
   
   Unsupported upstream schema changes pause a streaming job, but the error 
does not include the original MySQL DDL or the mapped Doris destination. After 
a failed RESUME, the recovery hint also omits that RESUME confirms acceptance 
of unsupported changes. HTML escaping in the displayed JSON makes arrows, 
equals signs, and quotes harder to read.
   
   This change:
   
   - Adds source-to-target table names and the complete MySQL source DDL to 
unsupported-change errors. PostgreSQL retains its observed schema differences 
and type/OID details without inventing a source DDL.
   - Keeps `[SCHEMA_CHANGE_UNSUPPORTED]`, the `CANNOT_RESUME_ERR` code, and 
concrete target validation errors. Both initial and resumed failures use the 
same schema-review and RESUME confirmation hint.
   - Formats same-name MODIFY/CHANGE as `(amount)` while retaining `(old_name 
-> new_name)` for renames.
   - Disables HTML escaping only for the displayed streaming-job `ErrorMsg`, 
preserving the JSON `code`/`msg` structure and JSON-required escaping.
   
   ### Release note
   
   Streaming job schema-change errors now show the mapped target table, 
available source DDL, and consistent recovery guidance. The displayed error 
JSON keeps arrows and other ordinary characters readable.
   
   ### Check List (For Author)
   
   - Test
       - [x] Unit Test: 82 CDC tests across the schema deserializers, 
coordinator, schema manager, and helpers; 13 FE streaming-job status/display 
tests.
       - [x] Regression test: MySQL and PostgreSQL advanced schema-change 
suites each passed five runs. These runs preceded the final display-escaping 
fix and raw-arrow assertion; the full suites were not rerun after that 
follow-up.
       - [x] Manual test: deployed the FE/CDC changes, verified readable raw 
JSON on retained MySQL and PostgreSQL paused jobs, and verified the PostgreSQL 
RESUME error includes the missing target column. Deployment reused an existing 
BE package.
   - Behavior changed:
       - [x] Yes. Error text and its displayed JSON escaping change. DDL 
application, target validation, and pause/resume decisions retain their 
existing logic.
   - Does this need documentation?
       - [x] No. This improves existing diagnostics without adding syntax or 
configuration.
   
   Validation also exposed existing startup schema-baseline and FE 
replay/error-replacement issues; those recovery issues are outside this 
diagnostic change.
   
   ### Check List (For Reviewer who merge this PR)
   
   - [ ] Confirm the release note
   - [ ] Confirm test cases
   - [ ] Confirm document
   - [ ] Add branch pick label
   


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