Commit 6b014ac6 authored by TousakaRin's avatar TousakaRin

bug fix: In short/pooled mode, the data feedback for circuit_breaker will be wrong.

parent d8893d43
...@@ -761,6 +761,7 @@ void Controller::Call::OnComplete( ...@@ -761,6 +761,7 @@ void Controller::Call::OnComplete(
} }
break; break;
} }
if (ELOGOFF == error_code) { if (ELOGOFF == error_code) {
SocketUniquePtr sock; SocketUniquePtr sock;
if (Socket::Address(peer_id, &sock) == 0) { if (Socket::Address(peer_id, &sock) == 0) {
...@@ -768,7 +769,7 @@ void Controller::Call::OnComplete( ...@@ -768,7 +769,7 @@ void Controller::Call::OnComplete(
sock->SetLogOff(); sock->SetLogOff();
} }
} }
if (need_feedback) { if (need_feedback) {
const LoadBalancer::CallInfo info = const LoadBalancer::CallInfo info =
{ begin_time_us, peer_id, error_code, c }; { begin_time_us, peer_id, error_code, c };
......
...@@ -834,7 +834,6 @@ int Socket::SetFailed(int error_code, const char* error_fmt, ...) { ...@@ -834,7 +834,6 @@ int Socket::SetFailed(int error_code, const char* error_fmt, ...) {
vref, MakeVRef(id_ver + 1, NRefOfVRef(vref)), vref, MakeVRef(id_ver + 1, NRefOfVRef(vref)),
butil::memory_order_release, butil::memory_order_release,
butil::memory_order_relaxed)) { butil::memory_order_relaxed)) {
GetOrNewSharedPart()->circuit_breaker.MarkAsBroken();
// Update _error_text // Update _error_text
std::string error_text; std::string error_text;
if (error_fmt != NULL) { if (error_fmt != NULL) {
...@@ -852,6 +851,7 @@ int Socket::SetFailed(int error_code, const char* error_fmt, ...) { ...@@ -852,6 +851,7 @@ int Socket::SetFailed(int error_code, const char* error_fmt, ...) {
// by Channel to revive never-connected socket when server side // by Channel to revive never-connected socket when server side
// comes online. // comes online.
if (_health_check_interval_s > 0) { if (_health_check_interval_s > 0) {
GetOrNewSharedPart( )->circuit_breaker.MarkAsBroken();
PeriodicTaskManager::StartTaskAt( PeriodicTaskManager::StartTaskAt(
new HealthCheckTask(id()), new HealthCheckTask(id()),
butil::milliseconds_from_now(GetOrNewSharedPart()-> butil::milliseconds_from_now(GetOrNewSharedPart()->
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment