Re: [Proposal] Fully WAL logged CREATE DATABASE - No Checkpoints
Dilip Kumar <dilipbalaut@gmail.com>
Attachments
- v1-0001-Avoid-setting-the-fake-relcache-entry-as-smgr-own.patch (text/x-patch) patch v1-0001
On Wed, Aug 3, 2022 at 1:41 PM Dilip Kumar <dilipbalaut@gmail.com> wrote: > > On Wed, Aug 3, 2022 at 12:00 PM Dilip Kumar <dilipbalaut@gmail.com> wrote: > > > > > Okay, so AtEOXact_SMgr will only get rid of unowned smgr and ours are > > owned by a fake relcache and whose lifetime is just portal memory > > context which will go away at the transaction end. So as Andres > > suggested options could be that a) we catch the error and do > > FreeFakeRelcacheEntry. b) directly use smgropen instead of > > RelationGetSmgr because actually, we do not want the owner to be set > > for these smgrs. > > > > I think option b) looks better to me, I will prepare a patch and test > > whether the error goes away with that or not. > > > > Here is the patch which directly uses smgropen instead of using fake > relcache entry. We don't preserve the smgr pointer and whenever > required we again call the smgropen. > > With this patch it resolved the problem for me at least what I was > able to reproduce. I was able to reproduce the WARNING messages that > Robert got as well as the valgrind error that Justin got and with this > patch both are resolved. Another version of the patch which closes the smgr at the end using smgrcloserellocator() and I have also added a commit message. -- Regards, Dilip Kumar EnterpriseDB: http://www.enterprisedb.com
Commits
-
When using the WAL-logged CREATE DATABASE strategy, bulk extend.
- 3e63e8462f31 16.0 landed
- 576bb0fc9342 15.0 landed
-
Avoid using a fake relcache entry to own an SmgrRelation.
- 1b94f8f232f6 15.0 landed
- 76733b399c49 16.0 landed
-
Fix data-corruption hazard in WAL-logged CREATE DATABASE.
- 692df425b688 16.0 landed
- 811203d4aff5 15.0 landed
-
initdb: When running CREATE DATABASE, use STRATEGY = WAL_COPY.
- ad43a413c4f7 15.0 landed
-
Simplify a needlessly-complicated regular expression.
- c6863b858291 15.0 landed
-
In 020_createdb.pl, change order of command-line arguments.
- 3d067c53b26d 15.0 landed
-
Add new block-by-block strategy for CREATE DATABASE.
- 9c08aea6a309 15.0 landed
-
Fix replay of create database records on standby
- 49d9cfc68bf4 15.0 cited
-
Refactor code for reading and writing relation map files.
- 39f0c4bd670c 15.0 landed
-
Replace RelationOpenSmgr() with RelationGetSmgr().
- f10f0ae420ee 15.0 cited
-
Refactor the fsync queue for wider use.
- 3eb77eba5a51 12.0 cited