diff --git a/src/observer/mysql/ob_mysql_request_manager.cpp b/src/observer/mysql/ob_mysql_request_manager.cpp index 9e42521d5492ade205023eaff992b25e62a4cd5d..23146853cfabe496005483ceffb7d84f4a6ed511 100644 --- a/src/observer/mysql/ob_mysql_request_manager.cpp +++ b/src/observer/mysql/ob_mysql_request_manager.cpp @@ -199,9 +199,12 @@ int ObMySQLRequestManager::record_request(const ObAuditRecordData& audit_record, } // push into queue - if (OB_SUCC(ret) && !is_sensitive) { + if (OB_SUCC(ret)) { int64_t req_id = 0; - if (OB_FAIL(queue_.push(record, req_id))) { + if (is_sensitive) { + free(record); + record = NULL; + } else if (OB_FAIL(queue_.push(record, req_id))) { if (REACH_TIME_INTERVAL(2 * 1000 * 1000)) { SERVER_LOG(WARN, "push into queue failed", K(ret)); }