fix the core when access ObRequest after finish_sql_request

This commit is contained in:
obdev 2022-11-29 11:35:43 +00:00 committed by ob-robot
parent 1c07891380
commit 072461d264
7 changed files with 1 additions and 22 deletions

View File

@ -49,7 +49,6 @@ public:
virtual SSL *get_sql_ssl_st(ObRequest* req) = 0;
virtual char* alloc_sql_response_buffer(ObRequest* req, int64_t size) = 0;
virtual char *sql_reusable_alloc(ObRequest* req, const int64_t size) = 0;
virtual void free_sql_response_buffer(ObRequest* req, void *buf) = 0;
virtual common::ObAddr get_peer(const ObRequest* req) = 0;
virtual void disconnect_sql_conn(ObRequest* req) = 0;
virtual void finish_sql_request(ObRequest* req) = 0;
@ -73,9 +72,6 @@ public:
char* alloc_sql_response_buffer(ObRequest* req, int64_t size) {
return get_operator(req).alloc_sql_response_buffer(req, size);
}
void free_sql_response_buffer(ObRequest* req, void *buf) {
return get_operator(req).free_sql_response_buffer(req, buf);
}
char *sql_reusable_alloc(ObRequest* req, const int64_t size) {
return get_operator(req).sql_reusable_alloc(req, size);
}

View File

@ -63,12 +63,6 @@ char* ObEasySqlRequestOperator::alloc_sql_response_buffer(ObRequest* req, int64_
return static_cast<char*>(buf);
}
void ObEasySqlRequestOperator::free_sql_response_buffer(ObRequest* req, void *buf)
{
(void)req;
(void)buf;
}
char *ObEasySqlRequestOperator::sql_reusable_alloc(ObRequest* req, int64_t size)
{
void *buf = NULL;

View File

@ -28,7 +28,6 @@ public:
virtual SSL *get_sql_ssl_st(rpc::ObRequest* req) override;
virtual char* alloc_sql_response_buffer(rpc::ObRequest* req, int64_t size) override;
virtual char *sql_reusable_alloc(rpc::ObRequest* req, const int64_t size) override;
virtual void free_sql_response_buffer(rpc::ObRequest* req, void *) override;
virtual common::ObAddr get_peer(const rpc::ObRequest* req) override;
virtual void disconnect_sql_conn(rpc::ObRequest* req) override;
virtual void finish_sql_request(rpc::ObRequest* req) override;

View File

@ -40,12 +40,6 @@ char* ObPocSqlRequestOperator::alloc_sql_response_buffer(ObRequest* req, int64_t
return (char*)sess->alloc(size);
}
void ObPocSqlRequestOperator::free_sql_response_buffer(ObRequest* req, void *buf)
{
(void)req;
(void)buf;
}
char *ObPocSqlRequestOperator::sql_reusable_alloc(ObRequest* req, int64_t size)
{
void *buf = NULL;

View File

@ -28,8 +28,7 @@ public:
virtual SSL *get_sql_ssl_st(rpc::ObRequest* req) override;
virtual char* alloc_sql_response_buffer(rpc::ObRequest* req, int64_t size) override;
virtual char *sql_reusable_alloc(rpc::ObRequest* req, const int64_t size) override;
virtual void free_sql_response_buffer(rpc::ObRequest* req, void *buf) override;
virtual common::ObAddr get_peer(const rpc::ObRequest* req) override;
virtual common::ObAddr get_peer(const rpc::ObRequest* req) override;
virtual void disconnect_sql_conn(rpc::ObRequest* req) override;
virtual void finish_sql_request(rpc::ObRequest* req) override;
virtual int write_response(rpc::ObRequest* req, const char* buf, int64_t sz) override;

View File

@ -28,7 +28,6 @@ public:
virtual SSL *get_sql_ssl_st(rpc::ObRequest* req) override;
virtual char* alloc_sql_response_buffer(rpc::ObRequest* req, int64_t size) override;
virtual char *sql_reusable_alloc(rpc::ObRequest* req, const int64_t size) override;
virtual void free_sql_response_buffer(rpc::ObRequest* req, void *buf) override;
virtual common::ObAddr get_peer(const rpc::ObRequest* req) override;
virtual void disconnect_sql_conn(rpc::ObRequest* req) override;
virtual void finish_sql_request(rpc::ObRequest* req) override;

View File

@ -974,7 +974,6 @@ int ObMPPacketSender::resize_ezbuf(const int64_t size)
if (comp_context_.last_pkt_pos_ == ez_buf_->pos) {
comp_context_.last_pkt_pos_ = tmp->pos;
}
SQL_REQ_OP.free_sql_response_buffer(req_, ez_buf_);
ez_buf_ = tmp;
}
}
@ -1009,7 +1008,6 @@ void ObMPPacketSender::finish_sql_request()
if (conn_valid_ && !req_has_wokenup_) {
SQL_REQ_OP.finish_sql_request(req_);
req_has_wokenup_ = true;
SQL_REQ_OP.free_sql_response_buffer(req_, ez_buf_);
ez_buf_ = NULL;
}
}