min_wal_size > max_wal_size is accepted

Started by Marc Rechtéover 5 years ago3 messages
#1Marc Rechté
marc4@rechte.fr

Hello,

It is possible to startup an instance with min > max, without the system
complaining:

mrechte=# show min_wal_size ;

2020-05-07 11:12:11.422 CEST [11098] LOG: durᅵe : 0.279 ms

min_wal_size

--------------

128MB

(1 ligne)

mrechte=# show max_wal_size ;

2020-05-07 11:12:12.814 CEST [11098] LOG: durᅵe : 0.275 ms

max_wal_size

--------------

64MB

(1 ligne)

This could be an issue ?

#2Guillaume Lelarge
guillaume@lelarge.info
In reply to: Marc Rechté (#1)
Re: min_wal_size > max_wal_size is accepted

Hi,

Le jeu. 7 mai 2020 à 11:13, Marc Rechté <marc4@rechte.fr> a écrit :

Hello,

It is possible to startup an instance with min > max, without the system
complaining:

mrechte=# show min_wal_size ;

2020-05-07 11:12:11.422 CEST [11098] LOG: durée : 0.279 ms

min_wal_size

--------------

128MB

(1 ligne)

mrechte=# show max_wal_size ;

2020-05-07 11:12:12.814 CEST [11098] LOG: durée : 0.275 ms

max_wal_size

--------------

64MB

(1 ligne)

This could be an issue ?

I don't see how this could be an issue. You'll get a checkpoint every time
64MB have been written before checkpoint_timeout kicked in. And WAL files
will be removed if you have more than 128MB of them.

Not the smartest configuration, but not a damaging one either.

--
Guillaume.

#3Marc Rechté
marc4@rechte.fr
In reply to: Guillaume Lelarge (#2)
Re: min_wal_size > max_wal_size is accepted

Hi,

Le jeu. 7 mai 2020 à 11:13, Marc Rechté <marc4@rechte.fr
<mailto:marc4@rechte.fr>> a écrit :

Hello,

It is possible to startup an instance with min > max, without the
system
complaining:

mrechte=# show min_wal_size ;

2020-05-07 11:12:11.422 CEST [11098] LOG:  durée : 0.279 ms

  min_wal_size

--------------

  128MB

(1 ligne)

mrechte=# show max_wal_size ;

2020-05-07 11:12:12.814 CEST [11098] LOG:  durée : 0.275 ms

  max_wal_size

--------------

  64MB

(1 ligne)

This could be an issue ?

I don't see how this could be an issue. You'll get a checkpoint every
time 64MB have been written before checkpoint_timeout kicked in. And WAL
files will be removed if you have more than 128MB of them.

Not the smartest configuration, but not a damaging one either.

--
Guillaume.

I have some doubts when I see such code in
backend/access/transam/xlog.c:2334

if (recycleSegNo < minSegNo)

recycleSegNo = minSegNo;

if (recycleSegNo > maxSegNo)

recycleSegNo = maxSegNo;