[improve](move-memtable) log rpc failures in stream file writer (#29267)
This commit is contained in:
@ -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();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user