From 596a7c8df74ed2ffb850dd4408094ef489a3d14d Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Thu, 11 May 2017 14:51:21 -0400 Subject: [PATCH] Increase MAX_SYSCACHE_CALLBACKS to provide more room for extensions. Increase from the historical value of 32 to 64. We are up to 31 callers of CacheRegisterSyscacheCallback() in HEAD, so if they were all to be exercised in one process that would leave only one slot for add-on modules. It's probably not possible for that to happen, but still we clearly need more daylight here. (At some point it might be worth making the array dynamically resizable; but since we've never heard a complaint of "out of syscache_callback_list slots" happening in the field, I doubt it's worth it yet.) Back-patch as far as 9.4, which is where we increased the companion limit MAX_RELCACHE_CALLBACKS (cf commit f01d1ae3a). It's not as urgent in released branches, which have only a couple dozen call sites in core, but it still seems that somebody might hit the limit before these branches die. Discussion: https://postgr.es/m/12184.1494450131@sss.pgh.pa.us --- src/backend/utils/cache/inval.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/backend/utils/cache/inval.c b/src/backend/utils/cache/inval.c index 55e5c8cf74..685bbd3174 100644 --- a/src/backend/utils/cache/inval.c +++ b/src/backend/utils/cache/inval.c @@ -180,7 +180,7 @@ static int maxSharedInvalidMessagesArray; * assumes there won't be very many of these at once; could improve if needed. */ -#define MAX_SYSCACHE_CALLBACKS 32 +#define MAX_SYSCACHE_CALLBACKS 64 #define MAX_RELCACHE_CALLBACKS 10 static struct SYSCACHECALLBACK -- 2.40.0