fix ddl arg in retry task is not freed correctly.
This commit is contained in:
@ -38,12 +38,13 @@ ObDDLRetryTask::ObDDLRetryTask()
|
|||||||
ObDDLRetryTask::~ObDDLRetryTask()
|
ObDDLRetryTask::~ObDDLRetryTask()
|
||||||
{
|
{
|
||||||
if (OB_NOT_NULL(ddl_arg_)) {
|
if (OB_NOT_NULL(ddl_arg_)) {
|
||||||
allocator_.free(ddl_arg_);
|
ddl_arg_->~ObDDLArg();
|
||||||
ddl_arg_ = nullptr;
|
ddl_arg_ = nullptr;
|
||||||
}
|
}
|
||||||
if (nullptr != forward_user_message_.ptr()) {
|
if (nullptr != forward_user_message_.ptr()) {
|
||||||
allocator_.free(forward_user_message_.ptr());
|
allocator_.free(forward_user_message_.ptr());
|
||||||
}
|
}
|
||||||
|
allocator_.reset();
|
||||||
}
|
}
|
||||||
|
|
||||||
int ObDDLRetryTask::deep_copy_ddl_arg(
|
int ObDDLRetryTask::deep_copy_ddl_arg(
|
||||||
|
|||||||
@ -809,6 +809,7 @@ public:
|
|||||||
|
|
||||||
ObDropDatabaseArg &operator=(const ObDropDatabaseArg &other) = delete;
|
ObDropDatabaseArg &operator=(const ObDropDatabaseArg &other) = delete;
|
||||||
ObDropDatabaseArg(const ObDropDatabaseArg &other) = delete;
|
ObDropDatabaseArg(const ObDropDatabaseArg &other) = delete;
|
||||||
|
virtual ~ObDropDatabaseArg() = default;
|
||||||
bool is_valid() const;
|
bool is_valid() const;
|
||||||
virtual bool is_allow_when_upgrade() const { return true; }
|
virtual bool is_allow_when_upgrade() const { return true; }
|
||||||
DECLARE_TO_STRING;
|
DECLARE_TO_STRING;
|
||||||
@ -1487,6 +1488,7 @@ public:
|
|||||||
|
|
||||||
ObTruncateTableArg &operator=(const ObTruncateTableArg &other) = delete;
|
ObTruncateTableArg &operator=(const ObTruncateTableArg &other) = delete;
|
||||||
ObTruncateTableArg(const ObTruncateTableArg &other) = delete;
|
ObTruncateTableArg(const ObTruncateTableArg &other) = delete;
|
||||||
|
virtual ~ObTruncateTableArg() = default;
|
||||||
bool is_valid() const;
|
bool is_valid() const;
|
||||||
DECLARE_TO_STRING;
|
DECLARE_TO_STRING;
|
||||||
|
|
||||||
@ -2081,6 +2083,7 @@ public:
|
|||||||
bool is_valid() const;
|
bool is_valid() const;
|
||||||
ObDropTableArg &operator=(const ObDropTableArg &other) = delete;
|
ObDropTableArg &operator=(const ObDropTableArg &other) = delete;
|
||||||
ObDropTableArg(const ObDropTableArg &other) = delete;
|
ObDropTableArg(const ObDropTableArg &other) = delete;
|
||||||
|
virtual ~ObDropTableArg() { tables_.reset(); }
|
||||||
virtual bool is_allow_when_upgrade() const { return true; }
|
virtual bool is_allow_when_upgrade() const { return true; }
|
||||||
DECLARE_TO_STRING;
|
DECLARE_TO_STRING;
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user