From: | Kyotaro HORIGUCHI <horiguchi(dot)kyotaro(at)lab(dot)ntt(dot)co(dot)jp> |
---|---|
To: | michael(dot)paquier(at)gmail(dot)com |
Cc: | david(at)pgmasters(dot)net, hlinnaka(at)iki(dot)fi, alvherre(at)2ndquadrant(dot)com, simon(at)2ndquadrant(dot)com, tgl(at)sss(dot)pgh(dot)pa(dot)us, andres(at)anarazel(dot)de, masao(dot)fujii(at)gmail(dot)com, kleptog(at)svana(dot)org, pgsql-hackers(at)postgresql(dot)org |
Subject: | Re: WAL logging problem in 9.4.3? |
Date: | 2016-09-29 13:02:57 |
Message-ID: | 20160929.220257.67781565.horiguchi.kyotaro@lab.ntt.co.jp |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
Hello,
At Thu, 29 Sep 2016 16:59:55 +0900, Michael Paquier <michael(dot)paquier(at)gmail(dot)com> wrote in <CAB7nPqT5x05tG7aut1yz+WJN76DqNz1Jzq46fSFtee4YbY0YcA(at)mail(dot)gmail(dot)com>
> On Mon, Sep 26, 2016 at 5:03 PM, Kyotaro HORIGUCHI
> <horiguchi(dot)kyotaro(at)lab(dot)ntt(dot)co(dot)jp> wrote:
> > Hello, I return to this before my things:)
> >
> > Though I haven't played with the patch yet..
>
> Be sure to run the test cases in the patch or base your tests on them then!
All items of 006_truncate_opt fail on ed0b228 and they are fixed
with the patch.
> > Though I don't know how it actually impacts the perfomance, it
> > seems to me that we can live with truncated_to and sync_above in
> > RelationData and BufferNeedsWAL(rel, buf) instead of
> > HeapNeedsWAL(rel, buf). Anyway up to one entry for one relation
> > seems to exist at once in the hash.
>
> TBH, I still think that the design of this patch as proposed is pretty
> cool and easy to follow.
It is clean from certain viewpoint but additional hash,
especially hash-searching on every HeapNeedsWAL seems to me to be
unacceptable. Do you see it accetable?
The attached patch is quiiiccck-and-dirty-hack of Michael's patch
just as a PoC of my proposal quoted above. This also passes the
006 test. The major changes are the following.
- Moved sync_above and truncted_to into RelationData.
- Cleaning up is done in AtEOXact_cleanup instead of explicit
calling to smgrDoPendingSyncs().
* BufferNeedsWAL (replace of HeapNeedsWAL) no longer requires
hash_search. It just refers to the additional members in the
given Relation.
X I feel that I have dropped one of the features of the origitnal
patch during the hack, but I don't recall it clearly now:(
X I haven't consider relfilenode replacement, which didn't matter
for the original patch. (but there's few places to consider).
What do you think about this?
regards,
--
Kyotaro Horiguchi
NTT Open Source Software Center
Attachment | Content-Type | Size |
---|---|---|
fix-wal-level-minimal-michael-horiguchi-1.patch | text/x-patch | 32.1 KB |
From | Date | Subject | |
---|---|---|---|
Next Message | 郭 勇 | 2016-09-29 13:12:59 | postgresql infinite loop |
Previous Message | Etsuro Fujita | 2016-09-29 12:51:58 | Re: postgres_fdw : altering foreign table not invalidating prepare statement execution plan. |