LogwrtResult contended spinlock - Mailing list pgsql-hackers

From Alvaro Herrera
Subject LogwrtResult contended spinlock
Date
Msg-id 20200831182156.GA3983@alvherre.pgsql
Whole thread Raw
Responses Re: LogwrtResult contended spinlock  (Andres Freund <andres@anarazel.de>)
List pgsql-hackers
Jaime Casanova recently reported a situation where pglogical replicating
from 64 POS sites to a single central (64-core) node, each with two
replication sets, causes XLog's info_lck to become highly contended
because of frequently reading LogwrtResult.  We tested the simple fix of
adding a new LWLock that protects LogwrtResult and LogwrtRqst; that
seems to solve the problem easily enough.

At first I wanted to make the new LWLock cover only LogwrtResult proper,
and leave LogwrtRqst alone.  However on doing it, it seemed that that
might change the locking protocol in a nontrivial way.  So I decided to
make it cover both and call it a day.  We did verify that the patch
solves the reported problem, at any rate.

-- 
Álvaro Herrera                PostgreSQL Expert, https://www.2ndQuadrant.com/

Attachment

pgsql-hackers by date:

Previous
From: Victor Spirin
Date:
Subject: Sometimes the output to the stdout in Windows disappears
Next
From: Andres Freund
Date:
Subject: Re: LogwrtResult contended spinlock