Viktor Somogyi-Vass created KAFKA-20821:
-------------------------------------------
Summary: kafka-delete-records.sh exits 0 even when some partitions
fail to delete
Key: KAFKA-20821
URL: https://issues.apache.org/jira/browse/KAFKA-20821
Project: Kafka
Issue Type: Bug
Components: tools
Affects Versions: 4.4.0
Reporter: Viktor Somogyi-Vass
DeleteRecordsCommand iterates over the per-partition results of
`Admin.deleteRecords()` and prints an error for any partition whose future
fails, but it does not propagate that failure. The command still returns exit
code 0, so operators and scripts that check the exit status are told the
operation succeeded even though one or more partitions were not deleted.
*Steps to reproduce:*
# Run kafka-delete-records.sh with an offset JSON file that includes a
non-existent topic-partition (or one that otherwise errors).
# Observe the per-partition error: line in stdout.
# Check `$?` (it should be 0)
*Expected:* The command should exit non-zero when any partition fails, so
failures are detectable programmatically.
*Fix:* Collect the failed partitions while printing their errors and, if any
occurred, throw AdminCommandFailedException (consistent with the tool's
existing error handling). mainNoExit already maps a thrown exception to exit
code 1.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)