diff --git a/source/common/router/router.cc b/source/common/router/router.cc index 7391c00bacf4d..37652d09291c0 100644 --- a/source/common/router/router.cc +++ b/source/common/router/router.cc @@ -2032,9 +2032,9 @@ bool Filter::checkDropOverload(Upstream::ThreadLocalCluster& cluster, if (config_.random_.bernoulli(cluster.dropOverload())) { ENVOY_STREAM_LOG(debug, "The request is dropped by DROP_OVERLOAD", *callbacks_); callbacks_->streamInfo().setResponseFlag(StreamInfo::ResponseFlag::DropOverLoad); - chargeUpstreamCode(Http::Code::ServiceUnavailable, nullptr, true); + chargeUpstreamCode(Http::Code::BadGateway, nullptr, true); callbacks_->sendLocalReply( - Http::Code::ServiceUnavailable, "drop overload", + Http::Code::BadGateway, "drop overload", [modify_headers, this](Http::ResponseHeaderMap& headers) { if (!config_.suppress_envoy_headers_) { headers.addReference(Http::Headers::get().EnvoyDropOverload, diff --git a/test/common/router/router_test.cc b/test/common/router/router_test.cc index 743e761ea83be..774b537f6e3e2 100644 --- a/test/common/router/router_test.cc +++ b/test/common/router/router_test.cc @@ -811,7 +811,7 @@ TEST_F(RouterTest, DropOverloadDropped) { EXPECT_CALL(random_, random()) .WillRepeatedly(Return(0.2 * float(std::numeric_limits::max()))); - Http::TestResponseHeaderMapImpl response_headers{{":status", "503"}, + Http::TestResponseHeaderMapImpl response_headers{{":status", "502"}, {"content-length", "13"}, {"content-type", "text/plain"}, {"x-envoy-drop-overload", "true"}}; diff --git a/test/integration/eds_integration_test.cc b/test/integration/eds_integration_test.cc index 010969397424a..267af2ca5eb70 100644 --- a/test/integration/eds_integration_test.cc +++ b/test/integration/eds_integration_test.cc @@ -930,7 +930,7 @@ TEST_P(EdsIntegrationTest, DataplaneTrafficAfterEdsUpdateOfInitializedCluster) { // Test EDS cluster DROP_OVERLOAD configuration. TEST_P(EdsIntegrationTest, DropOverloadTestForEdsClusterNoDrop) { dropOverloadTest(0, "200"); } -TEST_P(EdsIntegrationTest, DropOverloadTestForEdsClusterAllDrop) { dropOverloadTest(100, "503"); } +TEST_P(EdsIntegrationTest, DropOverloadTestForEdsClusterAllDrop) { dropOverloadTest(100, "502"); } } // namespace } // namespace Envoy