Re: "out of relcache_callback_list slots" after multiple calls to pg_logical_slot_get_binary_changes - Mailing list pgsql-hackers

From Tom Lane
Subject Re: "out of relcache_callback_list slots" after multiple calls to pg_logical_slot_get_binary_changes
Date
Msg-id 3569225.1676907043@sss.pgh.pa.us
Whole thread Raw
In response to Re: "out of relcache_callback_list slots" after multiple calls to pg_logical_slot_get_binary_changes  (Kyotaro Horiguchi <horikyota.ntt@gmail.com>)
Responses RE: "out of relcache_callback_list slots" after multiple calls to pg_logical_slot_get_binary_changes
List pgsql-hackers
Kyotaro Horiguchi <horikyota.ntt@gmail.com> writes:
> I'm pretty sure that everytime an output plugin is initialized on a
> process, it installs the same set of syscache/relcache callbacks each
> time.  Do you think we could simply stop duplicate registration of
> those callbacks by using a static boolean?  It would be far simpler.

Yeah, I think that's the way it's done elsewhere.  Removing and
re-registering your callback seems expensive, and it also destroys
any reasoning that anyone might have made about the order in which
different callbacks will get called.  (Admittedly, that's probably not
important for invalidation callbacks, but it does matter for e.g.
process exit callbacks.)

            regards, tom lane



pgsql-hackers by date:

Previous
From: Aleksander Alekseev
Date:
Subject: Re: XID formatting and SLRU refactorings (was: Add 64-bit XIDs into PostgreSQL 15)
Next
From: Tom Lane
Date:
Subject: Re: ExecRTCheckPerms() and many prunable partitions (checkAsUser)