[to #53004315]piece cache add destructor when close_all
This commit is contained in:
@ -591,6 +591,7 @@ void ObSQLSessionInfo::destroy(bool skip_sys_var)
|
|||||||
->close_all(*this))) {
|
->close_all(*this))) {
|
||||||
LOG_WARN("failed to close all piece", K(ret));
|
LOG_WARN("failed to close all piece", K(ret));
|
||||||
}
|
}
|
||||||
|
static_cast<observer::ObPieceCache*>(piece_cache_)->~ObPieceCache();
|
||||||
get_session_allocator().free(piece_cache_);
|
get_session_allocator().free(piece_cache_);
|
||||||
piece_cache_ = NULL;
|
piece_cache_ = NULL;
|
||||||
}
|
}
|
||||||
@ -2809,6 +2810,7 @@ void* ObSQLSessionInfo::get_piece_cache(bool need_init) {
|
|||||||
piece_cache_ = new (buf) observer::ObPieceCache();
|
piece_cache_ = new (buf) observer::ObPieceCache();
|
||||||
if (OB_SUCCESS != (static_cast<observer::ObPieceCache*>(piece_cache_))->init(
|
if (OB_SUCCESS != (static_cast<observer::ObPieceCache*>(piece_cache_))->init(
|
||||||
get_effective_tenant_id())) {
|
get_effective_tenant_id())) {
|
||||||
|
static_cast<observer::ObPieceCache*>(piece_cache_)->~ObPieceCache();
|
||||||
get_session_allocator().free(piece_cache_);
|
get_session_allocator().free(piece_cache_);
|
||||||
piece_cache_ = NULL;
|
piece_cache_ = NULL;
|
||||||
LOG_WARN_RET(OB_ERR_UNEXPECTED, "init piece cache fail");
|
LOG_WARN_RET(OB_ERR_UNEXPECTED, "init piece cache fail");
|
||||||
|
|||||||
Reference in New Issue
Block a user