diff --git a/be/src/io/fs/stream_sink_file_writer.cpp b/be/src/io/fs/stream_sink_file_writer.cpp index b7cd4ed0bb..8a14f667d1 100644 --- a/be/src/io/fs/stream_sink_file_writer.cpp +++ b/be/src/io/fs/stream_sink_file_writer.cpp @@ -88,17 +88,25 @@ Status StreamSinkFileWriter::appendv(const Slice* data, size_t data_cnt) { st = Status::InternalError("stream sink file writer append data failed"); }); ok = ok || st.ok(); + if (!st.ok()) { + LOG(WARNING) << "failed to send segment data to backend " << stream->dst_id() + << ", load_id: " << print_id(_load_id) << ", index_id: " << _index_id + << ", tablet_id: " << _tablet_id << ", segment_id: " << _segment_id + << ", data_length: " << bytes_req << ", reason: " << st; + } } if (!ok) { std::stringstream ss; for (auto& stream : _streams) { ss << " " << stream->dst_id(); } - LOG(WARNING) << "failed to write any replicas, load_id: " << print_id(_load_id) - << ", index_id: " << _index_id << ", tablet_id: " << _tablet_id - << ", segment_id: " << _segment_id << ", data_length: " << bytes_req - << ", backends:" << ss.str(); - return Status::InternalError("failed to write any replicas"); + LOG(WARNING) << "failed to send segment data to any replicas, load_id: " + << print_id(_load_id) << ", index_id: " << _index_id + << ", tablet_id: " << _tablet_id << ", segment_id: " << _segment_id + << ", data_length: " << bytes_req << ", backends:" << ss.str(); + return Status::InternalError( + "failed to send segment data to any replicas, tablet_id={}, segment_id={}", + _tablet_id, _segment_id); } _bytes_appended += bytes_req; return Status::OK(); @@ -113,16 +121,25 @@ Status StreamSinkFileWriter::finalize() { auto st = stream->append_data(_partition_id, _index_id, _tablet_id, _segment_id, _bytes_appended, {}, true); ok = ok || st.ok(); + if (!st.ok()) { + LOG(WARNING) << "failed to send segment eos to backend " << stream->dst_id() + << ", load_id: " << print_id(_load_id) << ", index_id: " << _index_id + << ", tablet_id: " << _tablet_id << ", segment_id: " << _segment_id + << ", reason: " << st; + } } if (!ok) { std::stringstream ss; for (auto& stream : _streams) { ss << " " << stream->dst_id(); } - LOG(WARNING) << "failed to finalize any replicas, load_id: " << print_id(_load_id) - << ", index_id: " << _index_id << ", tablet_id: " << _tablet_id - << ", segment_id: " << _segment_id << ", backends:" << ss.str(); - return Status::InternalError("failed to finalize any replicas"); + LOG(WARNING) << "failed to send segment eos to any replicas, load_id: " + << print_id(_load_id) << ", index_id: " << _index_id + << ", tablet_id: " << _tablet_id << ", segment_id: " << _segment_id + << ", backends:" << ss.str(); + return Status::InternalError( + "failed to send segment eos to any replicas, tablet_id={}, segment_id={}", + _tablet_id, _segment_id); } return Status::OK(); }