github-actions[bot] commented on code in PR #68479:
URL: https://github.com/apache/doris/pull/68479#discussion_r4254164661


##########
fe/fe-core/src/main/java/org/apache/doris/catalog/OlapTable.java:
##########
@@ -3308,6 +3309,10 @@ public void validateForFlexiblePartialUpdate() throws 
UserException {
         if (hasVariantColumns()) {
             throw new UserException("Flexible partial update can only support 
table without variant columns.");
         }
+        if (getIndexNumber() > 1) {

Review Comment:
   [P1] Preserve altered Routine Load jobs during image restoration
   
   This validator also runs from `RoutineLoadJob.gsonPostProcess()`, which 
reparses and validates the original CREATE statement after restoring the 
current `jobProperties`. Create a flexible Routine Load job on a base-only 
table, pause it, alter `unique_key_update_mode` to `UPSERT`, and add a plain 
rollup. The resulting full-row job is valid, but restoring an image now 
validates its stale flexible CREATE against this new check; the exception is 
caught by `gsonPostProcess()` and permanently changes the job to `CANCELLED`, 
which cannot be resumed. Database/rollup metadata is loaded before Routine Load 
jobs, so the rollup is already present when this happens. Keep the runtime 
rejection, but make reconstruction use the persisted current mode/properties or 
avoid mutable table-eligibility checks while rebuilding the original load 
descriptor. Please cover this mode-change/rollup sequence with an image-restore 
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]

Reply via email to