I found and fixed a bug that causes recovery (crash recovery , PITR) to throw 
unwanted LOG message if the tablespace symlink is not found during the 
processing of DROP TABLESPACE redo.
                                LOG:  could not remove symbolic link 
"pg_tblspc/16384": No such file or directory

To Reproduce the issue:

1.       Start the server.

2.       Create a tablespace.

3.       Perform Checkpoint.

4.       Drop tablespace.

5.       Stop server using immediate mode.

6.       Start server : At this stage, recovery throw log message as mentioned 
above.

Reason is that DROP TABLESPACE has already removed symlink and again it is 
being tried to remove during recovery.
As it is very much possible that DROP TABLESPACE was successful and cleaned up 
the file before server crashed. So this should be considered as valid scenario 
and no need to throw
any LOG in such case. In case of processing of CREATE TABLESPACE redo, same is 
already handled.

I will add this to 2014-08 CF for review.

Thanks and Regards,
Kumar Rajeev Rastogi

Attachment: rec_issue_with_drop_tblspc_redo.patch
Description: rec_issue_with_drop_tblspc_redo.patch

-- 
Sent via pgsql-hackers mailing list ([email protected])
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

Reply via email to