fix ddl arg in retry task is not freed correctly.

This commit is contained in:
obdev
2023-01-28 18:53:41 +08:00
committed by ob-robot
parent 9d32f409bc
commit b4b1f9c1f9
2 changed files with 5 additions and 1 deletions

View File

@ -38,12 +38,13 @@ ObDDLRetryTask::ObDDLRetryTask()
ObDDLRetryTask::~ObDDLRetryTask()
{
if (OB_NOT_NULL(ddl_arg_)) {
allocator_.free(ddl_arg_);
ddl_arg_->~ObDDLArg();
ddl_arg_ = nullptr;
}
if (nullptr != forward_user_message_.ptr()) {
allocator_.free(forward_user_message_.ptr());
}
allocator_.reset();
}
int ObDDLRetryTask::deep_copy_ddl_arg(

View File

@ -809,6 +809,7 @@ public:
ObDropDatabaseArg &operator=(const ObDropDatabaseArg &other) = delete;
ObDropDatabaseArg(const ObDropDatabaseArg &other) = delete;
virtual ~ObDropDatabaseArg() = default;
bool is_valid() const;
virtual bool is_allow_when_upgrade() const { return true; }
DECLARE_TO_STRING;
@ -1487,6 +1488,7 @@ public:
ObTruncateTableArg &operator=(const ObTruncateTableArg &other) = delete;
ObTruncateTableArg(const ObTruncateTableArg &other) = delete;
virtual ~ObTruncateTableArg() = default;
bool is_valid() const;
DECLARE_TO_STRING;
@ -2081,6 +2083,7 @@ public:
bool is_valid() const;
ObDropTableArg &operator=(const ObDropTableArg &other) = delete;
ObDropTableArg(const ObDropTableArg &other) = delete;
virtual ~ObDropTableArg() { tables_.reset(); }
virtual bool is_allow_when_upgrade() const { return true; }
DECLARE_TO_STRING;