diff --git a/src/common/backend/utils/cache/partcache.cpp b/src/common/backend/utils/cache/partcache.cpp index 072896d7ca0b5fc42bfd623067dff71db183c36d..7e76d0d3df9ad864c6184823f06a4d6f2298ec4a 100644 --- a/src/common/backend/utils/cache/partcache.cpp +++ b/src/common/backend/utils/cache/partcache.cpp @@ -1697,6 +1697,7 @@ void PartitionReloadIndexInfo(Partition part) * will enroll this relation in ordinary relcache invalidation processing, */ if (t_thrd.inval_msg_cxt.in_progress_list[offset].invalidated) { + PartitionCloseSmgr(part); part->pd_isvalid = false; ResetInvalMsgProcListInval(offset); continue; diff --git a/src/common/backend/utils/cache/relcache.cpp b/src/common/backend/utils/cache/relcache.cpp index e1ea8a8e740723156ca7c6ef8d33067740374127..98593ac14c899c55277fc113c712e365f558bb4b 100755 --- a/src/common/backend/utils/cache/relcache.cpp +++ b/src/common/backend/utils/cache/relcache.cpp @@ -3582,6 +3582,7 @@ void RelationReloadIndexInfo(Relation relation) * will enroll this relation in ordinary relcache invalidation processing, */ if (t_thrd.inval_msg_cxt.in_progress_list[offset].invalidated) { + RelationCloseSmgr(relation); relation->rd_isvalid = false; ResetInvalMsgProcListInval(offset); continue;