On 7/30/24 1:31 PM, Andrey M. Borodin wrote:>> On 30 Jul 2024, at 14:57, Tomas Vondra <tomas.von...@enterprisedb.com> wrote:


How do we synchronize Shared Fake LSN with global XLogCtl->unloggedLSN? Just bump 
XLogCtl->unloggedLSN if necessary?
Perhaps, consider using GetFakeLSNForUnloggedRel() instead of shared counter? As 
long as we do not care about FakeLSN>RealLSN.


I'm confused. How is this related to unloggedLSN at all?

Parallel build should work for both logged and unlogged indexes.
If we use fake LSN in shared memory, we have to make sure that FakeLSN < 
XLogCtl->unloggedLSN after build.
Either way we can just use XLogCtl->unloggedLSN instead of FakeLSN in shared 
memory.

In other words I propose to use GetFakeLSNForUnloggedRel() instead of 
"pg_atomic_uint64 *fakelsn;”.

Yeah,

Great point, given the ugliness of passing around the fakelsn we might as well just use GetFakeLSNForUnloggedRel().

Andreas


Reply via email to