private boolean isComposite() {
    // If the overall operation failed, we treat the successfully put chunks as part of a composite blob.
    boolean operationFailed = blobId == null || getOperationException() != null;
    return operationFailed || metadataPutChunk.indexToChunkIdsAndChunkSizes.size() > 1 || isStitchOperation();
  }
@return {@code true} if this is a composite blob upload, or if the operation failed. Stitch operations count as
        composite uploads since they upload a metadata chunk.
ambry-router/src/main/java/com/github/ambry/router/PutOperation.java