diff --git a/source/extensions/filters/network/dubbo_proxy/active_message.cc b/source/extensions/filters/network/dubbo_proxy/active_message.cc index e828884ff26fe..bcdc2e0233d99 100644 --- a/source/extensions/filters/network/dubbo_proxy/active_message.cc +++ b/source/extensions/filters/network/dubbo_proxy/active_message.cc @@ -183,7 +183,7 @@ void ActiveMessageEncoderFilter::continueEncoding() { ActiveMessage::ActiveMessage(ConnectionManager& parent) : parent_(parent), request_timer_(std::make_unique( parent_.stats().request_time_ms_, parent.timeSystem())), - request_id_(-1), stream_id_(parent.randomGenerator().random()), + stream_id_(parent.randomGenerator().random()), stream_info_(parent.timeSystem(), parent_.connection().connectionInfoProviderSharedPtr()), pending_stream_decoded_(false), local_response_sent_(false) { parent_.stats().request_active_.inc(); @@ -346,7 +346,6 @@ FilterStatus ActiveMessage::applyEncoderFilters(ActiveMessageEncoderFilter* filt void ActiveMessage::sendLocalReply(const DubboFilters::DirectResponse& response, bool end_stream) { ASSERT(metadata_); - metadata_->setRequestId(request_id_); parent_.sendLocalReply(*metadata_, response, end_stream); if (end_stream) { diff --git a/source/extensions/filters/network/dubbo_proxy/active_message.h b/source/extensions/filters/network/dubbo_proxy/active_message.h index 5e860be3ddc23..c310e85b8ab28 100644 --- a/source/extensions/filters/network/dubbo_proxy/active_message.h +++ b/source/extensions/filters/network/dubbo_proxy/active_message.h @@ -202,8 +202,6 @@ class ActiveMessage : public LinkedObject, std::list encoder_filters_; std::function encoder_filter_action_; - int32_t request_id_; - // This value is used in the calculation of the weighted cluster. uint64_t stream_id_; StreamInfo::StreamInfoImpl stream_info_; diff --git a/test/extensions/filters/network/dubbo_proxy/conn_manager_test.cc b/test/extensions/filters/network/dubbo_proxy/conn_manager_test.cc index 8cdbe6162927f..d74e12fa8f771 100644 --- a/test/extensions/filters/network/dubbo_proxy/conn_manager_test.cc +++ b/test/extensions/filters/network/dubbo_proxy/conn_manager_test.cc @@ -832,7 +832,7 @@ TEST_F(ConnectionManagerTest, ResponseWithUnknownSequenceID) { TEST_F(ConnectionManagerTest, OnDataWithFilterSendsLocalReply) { initializeFilter(); - writeHessianRequestMessage(buffer_, false, false, 1); + writeHessianRequestMessage(buffer_, false, false, 233333); config_->setupFilterChain(2, 0); config_->expectOnDestroy(); @@ -847,8 +847,10 @@ TEST_F(ConnectionManagerTest, OnDataWithFilterSendsLocalReply) { const std::string fake_response("mock dubbo response"); NiceMock direct_response; EXPECT_CALL(direct_response, encode(_, _, _)) - .WillOnce(Invoke([&](MessageMetadata&, Protocol&, + .WillOnce(Invoke([&](MessageMetadata& metadata, Protocol&, Buffer::Instance& buffer) -> DubboFilters::DirectResponse::ResponseType { + // Validate request id. + EXPECT_EQ(metadata.requestId(), 233333); buffer.add(fake_response); return DubboFilters::DirectResponse::ResponseType::SuccessReply; })); @@ -878,7 +880,7 @@ TEST_F(ConnectionManagerTest, OnDataWithFilterSendsLocalReply) { TEST_F(ConnectionManagerTest, OnDataWithFilterSendsLocalErrorReply) { initializeFilter(); - writeHessianRequestMessage(buffer_, false, false, 1); + writeHessianRequestMessage(buffer_, false, false, 233334); config_->setupFilterChain(2, 0); config_->expectOnDestroy(); @@ -893,8 +895,10 @@ TEST_F(ConnectionManagerTest, OnDataWithFilterSendsLocalErrorReply) { const std::string fake_response("mock dubbo response"); NiceMock direct_response; EXPECT_CALL(direct_response, encode(_, _, _)) - .WillOnce(Invoke([&](MessageMetadata&, Protocol&, + .WillOnce(Invoke([&](MessageMetadata& metadata, Protocol&, Buffer::Instance& buffer) -> DubboFilters::DirectResponse::ResponseType { + // Validate request id. + EXPECT_EQ(metadata.requestId(), 233334); buffer.add(fake_response); return DubboFilters::DirectResponse::ResponseType::ErrorReply; }));