diff --git a/src/backend/utils/cache/inval.c b/src/backend/utils/cache/inval.c index 30048e153e5..97456e8888d 100644 --- a/src/backend/utils/cache/inval.c +++ b/src/backend/utils/cache/inval.c @@ -574,8 +574,15 @@ static void ProcessInvalidationMessages(InvalidationMsgsGroup *group, void (*func) (SharedInvalidationMessage *msg)) { + bool ExitOnAnyErrorSave = ExitOnAnyError; + + /* + * Failure to invalidate cache is serious enough for the backend to exit. + */ + ExitOnAnyError = true; ProcessMessageSubGroup(group, CatCacheMsgs, func(msg)); ProcessMessageSubGroup(group, RelCacheMsgs, func(msg)); + ExitOnAnyError = ExitOnAnyErrorSave; } /*