fix ddl arg in retry task is not freed correctly.
This commit is contained in:
@ -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(
|
||||
|
||||
@ -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;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user