20.09.2019 15:23, Asim R P wrote:
On Thu, Sep 19, 2019 at 5:29 PM Asim R P <
apraveen@pivotal.io> wrote:
>
> In order to fix the test failures, we need to distinguish between a missing database directory and a missing tablespace directory. And also add logic to forget missing directories during tablespace drop. I am working on it.
Please find attached a solution that builds on what Paul has propose. A hash table, similar to the invalid page hash table is used to track missing directory references. A missing directory may be a tablespace or a database, based on whether the tablespace is found missing or the source database is found missing. The crash recovery succeeds if the hash table is empty at the end.
The v6-0003 patch had merge conflicts due to the recent 'xl_dbase_drop_rec' change, so I rebased it.
See v7-0003 in attachment. Changes are pretty straightforward, though It would be great, if you could check them once more.
Newly introduced test 4 in t/011_crash_recovery.pl fails without the patch and passes with it.
It seems to me that everything is fine, so I mark it "Ready For Committer"
--
Anastasia Lubennikova
Postgres Professional: http://www.postgrespro.com
The Russian Postgres Company