[improve](move-memtable) log rpc failures in stream file writer (#29267)

This commit is contained in:
Kaijie Chen
2024-01-04 23:00:46 +08:00
committed by GitHub
parent 96acef908a
commit 35150bbc22

View File

@ -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();
}