mirror of https://github.com/citusdata/citus.git
Adjust max_prepared_transactions only when it is default (#7712)
DESCRIPTION: Adjusts max_prepared_transactions only when it's set to default on PG >= 16 Fixes #7711. Change AdjustMaxPreparedTransactions to really check if max_prepared_transactions is explicitly set by user, and only adjust max_prepared_transactions when it is default. This fixes 021_twophase test failure with loaded Citus library after postgres/postgres@b39c5272. Co-authored-by: Karina Litskevich <litskevichkarina@gmail.com>pull/7572/merge
parent
bb9d90ecc3
commit
48d89c9c1b
|
@ -802,8 +802,18 @@ AdjustMaxPreparedTransactions(void)
|
||||||
* (connections * 2 currently). If the user explicitly configured 2PC, we
|
* (connections * 2 currently). If the user explicitly configured 2PC, we
|
||||||
* leave the configuration alone - there might have been intent behind the
|
* leave the configuration alone - there might have been intent behind the
|
||||||
* decision.
|
* decision.
|
||||||
|
*
|
||||||
|
* find_option is declared static in guc.c for older versions, so we can't
|
||||||
|
* really check if max_prepared_xacts is configured by the user explicitly,
|
||||||
|
* so check if it's value is default.
|
||||||
*/
|
*/
|
||||||
|
#if PG_VERSION_NUM >= PG_VERSION_16
|
||||||
|
struct config_generic *gconf = find_option("max_prepared_transactions",
|
||||||
|
false, false, ERROR);
|
||||||
|
if (gconf->source == PGC_S_DEFAULT)
|
||||||
|
#else
|
||||||
if (max_prepared_xacts == 0)
|
if (max_prepared_xacts == 0)
|
||||||
|
#endif
|
||||||
{
|
{
|
||||||
char newvalue[12];
|
char newvalue[12];
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue