xiangfu0 commented on code in PR #18813:
URL: https://github.com/apache/pinot/pull/18813#discussion_r3446248750


##########
pinot-plugins/pinot-minion-tasks/pinot-minion-builtin-tasks/src/main/java/org/apache/pinot/plugin/minion/tasks/BaseSingleSegmentConversionExecutor.java:
##########
@@ -210,19 +209,17 @@ public SegmentConversionResult 
executeTask(PinotTaskConfig pinotTaskConfig)
             throw new UnsupportedOperationException("Unrecognized push mode: " 
+ pushType);
         }
       } catch (Exception e) {
-        uploadSuccessful = false;
         _minionMetrics.addMeteredTableValue(tableNameWithType, 
MinionMeter.SEGMENT_UPLOAD_FAIL_COUNT, 1L);
         LOGGER.error("Segment upload failed for segment {}, table {}", 
segmentName, tableNameWithType, e);
         _eventObserver.notifyTaskError(_pinotTaskConfig, e);
-      }
-      if (!FileUtils.deleteQuietly(convertedTarredSegmentFile)) {
-        LOGGER.warn("Failed to delete tarred converted segment: {}", 
convertedTarredSegmentFile.getAbsolutePath());
-      }
-
-      if (uploadSuccessful) {
-        LOGGER.info("Done executing {} on table: {}, segment: {}", taskType, 
tableNameWithType, segmentName);
+        throw e;

Review Comment:
   In METADATA push mode this rethrow turns controller-side push failures into 
task retries, but the retry comes back through `moveSegmentToOutputPinotFS()` 
with the same `<segment>.tar.gz` target. `overwriteOutput` is normally left 
false in `MinionTaskUtils.getPushTaskConfig()`, so if the first attempt already 
copied the tar before failing, the retry now dies on `Output file already 
exists` before it can resend metadata. That makes transient metadata-push 
failures sticky instead of self-healing. Can we make the staged tar idempotent 
across retries or clean it up before rethrowing?



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