github-actions[bot] commented on code in PR #64878:
URL: https://github.com/apache/doris/pull/64878#discussion_r3642543754
##########
fe/fe-core/src/main/java/org/apache/doris/persist/AlterRoutineLoadJobOperationLog.java:
##########
@@ -37,12 +37,20 @@ public class AlterRoutineLoadJobOperationLog implements
Writable {
private Map<String, String> jobProperties;
@SerializedName(value = "dataSourceProperties")
private AbstractDataSourceProperties dataSourceProperties;
+ @SerializedName(value = "targetTableId")
+ private long targetTableId;
Review Comment:
[P1] Prevent old FE followers from silently dropping the target switch. This
field is added to the existing `OP_ALTER_ROUTINE_LOAD_JOB` JSON record, so an
older electable FE recognizes the opcode and replays the known empty job/source
delta, while Gson ignores the unknown `targetTableId` and the old Kafka replay
path never changes `tableId`. During a rolling upgrade, if the old master fails
after one upgraded follower rejoins, that new binary can become master while
another follower still runs the old binary; after it switches a paused job from
A to B, failover to the old follower makes `beginTxn` and task planning use A's
ID and sends the continued stream back to A. The missing-field test covers only
old-log -> new-reader compatibility, not this new-writer -> old-reader
direction. Gate this ALTER until every electable FE advertises support, or use
a versioned record/protocol that an old FE cannot silently accept, and add a
mixed-version replay/failover test.
--
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]