diff --git a/core/src/main/scala/kafka/log/Log.scala b/core/src/main/scala/kafka/log/Log.scala index 66c07af..0fd1ea2 100644 --- a/core/src/main/scala/kafka/log/Log.scala +++ b/core/src/main/scala/kafka/log/Log.scala @@ -568,17 +568,18 @@ private[kafka] class Log(val dir: File, val numSegmentsDeleted = deleteSegments(segmentsToBeDeleted) /* We should not hit this error because segments.view is locked in markedDeletedWhile() */ if(numSegmentsDeleted != segmentsToBeDeleted.size) - error("Failed to delete some segments when attempting to truncate to offset " + targetOffset +")") + throw new KafkaStorageException("Failed to delete some segments when attempting to truncate to offset %d in log %s" + .format(targetOffset, name)) if (numSegmentsDeleted == viewSize) { segments.trunc(segments.view.size) rollToOffset(targetOffset) this.nextOffset.set(targetOffset) } else { - if(targetOffset > logEndOffset) { - error("Target offset %d cannot be greater than the last message offset %d in the log %s". - format(targetOffset, logEndOffset, segments.view.last.messageSet.file.getAbsolutePath)) - } else { - // find the log segment that has this hw + if(targetOffset > logEndOffset) + throw new KafkaStorageException("Target offset %d cannot be greater than the last message offset %d in log %s" + .format(targetOffset, logEndOffset, name)) + else { + // find the log segment that has targetOffset val segmentToBeTruncated = findRange(segments.view, targetOffset) segmentToBeTruncated match { case Some(segment) =>