764276020 commented on issue #68537:
URL: https://github.com/apache/doris/issues/68537#issuecomment-5864716356

   Hello @Doris-Breakwater 
   Detailed logs for this incident .
   
   **Deployment / object under change**
   - Build: `doris-3.1.4-rc02-7f5ba43de6` (tag `3.1.4-rc02`), cloud / 
compute-storage-separation, FDB meta service
   - Operation: `ALTER TABLE xxx.xx ADD INDEX ... USING INVERTED`
   - `job_id = 1789639373133` (FE `SchemaChangeJobV2`), `table_id = 207246110`
   - shadow `index_id = 1789639373134`; failing shadow tablet `1789639379947` 
(base tablet `1757832974720`)
   - storage vault bucket: `s3dwcloud-doris-c2-vol1`
   
   ---
   
   ### 1. Recycler: the in-progress (PREPARED) index is recycled
   
   ```
   2026-09-24 14:32:36  sts-doris-dwcloud-recycler-5100-1  I20260924 
14:17:46.145588   542 recycler.cpp:1085] begin to recycle index, 
instance_id=1638888 table_id=207246110 index_id=1789639373134 state=PREPARED
   2026-09-24 14:32:36  sts-doris-dwcloud-recycler-5100-1  I20260924 
14:17:46.148905   542 recycler.cpp:1517] begin to recycle tablets of the index 
table_id=207246110 index_id=1789639373134 partition_id=-1
   ```
   
   Reading note: the left column is the log-collector row time; the 
message-internal timestamp is `14:17:46.145588` (recycler process clock). 
`partition_id=-1` means index-level recycling, i.e. every tablet of the shadow 
index (all partitions), which is the code path that removes 
`meta_tablet_idx_key`.
   
   ### 2. BE (`doris-dwcloud-be-w4sata-31`): conversion runs normally for ~22 
minutes, then the commit fails
   
   ```
   I20260924 12:11:59.172073  2499 task_worker_pool.cpp:2167] get alter table 
task, signature: 1789639379947
   I20260924 12:17:53.672082  2501 task_worker_pool.cpp:2167] get alter table 
task, signature: 1789639379947
   I20260924 12:22:04.149425  2500 task_worker_pool.cpp:2167] get alter table 
task, signature: 1789639379947
      ... (task polled every few minutes) ...
   I20260924 13:57:27.142143  2500 cloud_meta_mgr.cpp:1787] Skip version hole 
filling for new schema change tablet 1789639379947 with alter_version -1
   I20260924 13:57:27.157553  2500 cloud_schema_change_job.cpp:153] Begin to 
alter tablet. base_tablet_id=1757832974720, new_tablet_id=1789639379947, 
alter_version=25647, job_id=1789639373133
   I20260924 13:57:27.157934  2500 cloud_schema_change_job.cpp:254] Begin to 
convert historical rowsets for new_tablet from base_tablet. 
base_tablet=1757832974720, new_tablet=1789639379947, job_id=1789639373133
   I20260924 13:57:27.157976  2500 cloud_schema_change_job.cpp:275] schema 
change type, sc_sorting: 0, sc_directly: 1, base_tablet=1757832974720, 
new_tablet=1789639379947
   ```
   
   Object storage writes for this tablet then proceed normally (32 
`create_multi_upload_request` + 32 `complete_multipart_upload`, 16 rowsets 
flushed; each rowset ≈ 241 MB `.dat` + ≈ 275 MB `.idx`):
   
   ```
   I20260924 13:58:07.145941  2500 s3_file_writer.cpp:88] 
create_multi_upload_request 
s3://s3dwcloud-doris-c2-vol1/data/1789639379947/02000000078f8b2f5d4468a8eb35de535033262fc6ebb8ad_0.dat
   I20260924 13:58:50.133966 482503 s3_file_writer.cpp:406] 
complete_multipart_upload 
s3://s3dwcloud-doris-c2-vol1/data/1789639379947/02000000078f8b2f5d4468a8eb35de535033262fc6ebb8ad_0.dat
 size=241219147 number_parts=8 s3_write_buffer_size=33554432
   I20260924 14:15:19.334806 537442 s3_file_writer.cpp:406] 
complete_multipart_upload 
s3://s3dwcloud-doris-c2-vol1/data/1789639379947/02000000079037db5d4468a8eb35de535033262fc6ebb8ad_3.dat
 size=241232607 number_parts=8 s3_write_buffer_size=33554432
   I20260924 14:19:27.115656 2095720 s3_obj_storage_client.cpp:239] UploadPart 
cost=5080ms, request_id=18D82D64ABED2F0B, bucket=s3dwcloud-doris-c2-vol1, 
key=data/1789639379947/02000000079037db5d4468a8eb35de535033262fc6ebb8ad_6.idx, 
part_num=1, upload_id=...
   I20260924 14:19:27.302443  2500 s3_file_writer.cpp:406] 
complete_multipart_upload 
s3://s3dwcloud-doris-c2-vol1/data/1789639379947/02000000079037db5d4468a8eb35de535033262fc6ebb8ad_6.idx
 size=146927616 number_parts=5 s3_write_buffer_size=33554432
   I20260924 14:19:29.280812  2500 segment_creator.cpp:309] 
tablet_id:1789639379947, flushing rowset_dir: , 
rowset_id:02000000079037db5d4468a8eb35de535033262fc6ebb8ad, data 
size:125997412, index size:146927616
   ```
   
   Then, 103 seconds after the recycler line above:
   
   ```
   W20260924 14:19:29.806116  2500 task_worker_pool.cpp:307] failed to alter 
tablet|signature=1789639379947|base_tablet_id=1757832974720|new_tablet_id=1789639379947|error=[INTERNAL_ERROR]failed
 to commit rowset: failed to get tablet_idx, err=KeyNotFound 
tablet_id=1789639379947 
key=01106d657461000110313633383838380001107461626c65745f696e646578000112000001a0aed1cbeb
   ```
   
   ### 3. MetaService: the tablet meta itself is already gone
   
   ```
   msg: "meta_service_job.cpp:1138 failed to get new tablet meta (not found) 
instance_id=1638888 tablet_id=1789639379947 
key=01106d657461000110313633383838380001107461626c6574000112000000000c5a531e12000001a0aed1b14e12000001994702915912000001a0aed1cbeb
 err=KeyNotFound"
   ```
   
   ### 4. FE: a single failed task cancels the whole job
   
   ```
   2026-09-24 14:19:29,808 WARN (thrift-server-pool-315|66386) 
[MasterImpl.finishTask():101] finish task reports bad. request: 
TFinishTaskRequest(backend:TBackend(host:doris-dwcloud-be-w4sata-31.doris-dwcloud-be-w4sata.doris-dwcloud.svc.colo.gzgalocal,
 be_port:9060, http_port:8040, brpc_port:8060, id:1743196020771), 
task_type:ALTER, signature:1789639379947, 
task_status:TStatus(status_code:INTERNAL_ERROR, 
error_msgs:[(doris-dwcloud-be-w4sata-31.doris-dwcloud-be-w4sata.doris-dwcloud.svc.colo.gzgalocal)[INTERNAL_ERROR]failed
 to commit rowset: failed to get tablet_idx, err=KeyNotFound 
tablet_id=1789639379947 
key=01106d657461000110313633383838380001107461626c65745f696e646578000112000001a0aed1cbeb]),
 report_version:178705738452804)
   2026-09-24 14:19:30,241 WARN (schema-change-pool-22|688037) 
[SchemaChangeJobV2.runRunningJob():619] schema change task failed, job: 
1789639373133, failedTimes: 1, maxFailedTimes: 0, err: task type: ALTER, 
status_code: INTERNAL_ERROR, status_message: 
[(doris-dwcloud-be-w4sata-31.doris-dwcloud-be-w4sata.doris-dwcloud.svc.colo.gzgalocal)[INTERNAL_ERROR]failed
 to commit rowset: failed to get tablet_idx, err=KeyNotFound 
tablet_id=1789639379947 
key=01106d657461000110313633383838380001107461626c65745f696e646578000112000001a0aed1cbeb]
   2026-09-24 14:19:30,291 INFO (schema-change-pool-22|688037) 
[SchemaChangeJobV2.cancelImpl():838] set table's state to NORMAL when cancel, 
table id: 207246110, job id: 1789639373133
   2026-09-24 14:19:30,485 INFO (schema-change-pool-22|688037) 
[SchemaChangeJobV2.cancelImpl():841] cancel SCHEMA_CHANGE job 1789639373133, 
err: errCode = 2, detailMessage = schema change tasks failed, error reason: 
task type: ALTER, status_code: INTERNAL_ERROR, status_message: 
[(doris-dwcloud-be-w4sata-31.doris-dwcloud-be-w4sata.doris-dwcloud.svc.colo.gzgalocal)[INTERNAL_ERROR]failed
 to commit rowset: failed to get tablet_idx, err=KeyNotFound 
tablet_id=1789639379947 
key=01106d657461000110313633383838380001107461626c65745f696e646578000112000001a0aed1cbeb]
   ```
   
   After the cancel, other BEs of the same job keep reporting (253 rows between 
14:19:36 and 14:30):
   
   ```
   2026-09-24 14:19:36,474 WARN (thrift-server-pool-179602|572505) 
[MasterImpl.finishTask():101] finish task reports bad. request: 
TFinishTaskRequest(backend:TBackend(host:doris-dwcloud-be-w4sata-2.doris-dwcloud-be-w4sata.doris-dwcloud.svc.colo.gzgalocal,
 be_port:9060, http_port:8040, brpc_port:8060, id:13750875), task_type:ALTER, 
signature:1789639374431, task_status:TStatus(status_code:INTERNAL_ERROR, 
error_msgs:[(doris-dwcloud-be-w4sata-2.doris-dwcloud-be-w4sata.doris-dwcloud.svc.colo.gzgalocal)[INTERNAL_ERROR]failed
 to commit rowset:  stale perpare rowset request, instance_id=1638888 
tablet_id=1789639374431 job id=1789639373133 
rowset_id=0200000002413138b04d70ea8c9d5d5227e8cd54ce5ced84]), 
report_version:178938202914362)
   ```
   
   and the cancelled job is replayed on the FE checkpointer:
   
   ```
   2026-09-24 14:30:07,671 INFO (leaderCheckpointer|66130) 
[SchemaChangeJobV2.replayCancelled():994] replay cancelled schema change job: 
1789639373133
   2026-09-24 14:30:07,671 INFO (leaderCheckpointer|66130) 
[SchemaChangeJobV2.replayCancelled():996] set table's state to NORMAL when 
replay cancelled, table id: 207246110, job id: 1789639373133
   ```
   
   and 14 minutes later the recycled tablet is still unresolvable:
   
   ```
   I20260924 14:33:18.244233  2407 cloud_warm_up_manager.cpp:689] 
recycle_cache: tablet_id=1789639379947, num_rowsets=1
   W20260924 14:33:18.244154  2407 status.h:427] meet error status: 
[NOT_FOUND]failed to get tablet meta: failed to get tablet_idx, err=KeyNotFound 
tablet_id=1789639379947 
key=01106d657461000110313633383838380001107461626c65745f696e646578000112000001a0aed1cbeb
   W20260924 14:33:18.244251  2407 cloud_tablet_mgr.cpp:369] failed to sync 
tablet meta 1789639379947
   ```


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