Timing problem in DROP TABLESPACE?
I've run regression tests many, many times recently, usually in the form
of a looping installcheck, rather than just make check.
On a recent test the last command of the last test has failed:
DROP TABLESPACE testspace;
ERROR: tablespace "testspace" is not empty
The directory was confirmed as non-empty, though when running the
command again it worked successfully.
However, I've run it many times and it hasn't happened at all, so it's
sporadic and fairly rare. When I isolate just that test case in a tight
loop, I've seen no problems.
Now I'm not sure what causes that and although I am working on patches I
don't think I'm causing it myself. This error happens on the *master*,
not on the standby server.
Is there a timing problem? I see that we attempt to do a checkpoint to
clean up deleted files. Is that working? Is it ignoring certain
messages?
--
Simon Riggs www.2ndQuadrant.com
PostgreSQL Training, Services and Support
Simon Riggs wrote:
I've run regression tests many, many times recently, usually in the form
of a looping installcheck, rather than just make check.On a recent test the last command of the last test has failed:
DROP TABLESPACE testspace;
ERROR: tablespace "testspace" is not emptyThe directory was confirmed as non-empty, though when running the
command again it worked successfully.
Maybe it is failing due to files that are scheduled to be deleted by
next checkpoint? If it runs a checkpoint internally, perhaps there's a
race condition in the code that waits until the files are gone.
--
Alvaro Herrera http://www.CommandPrompt.com/
The PostgreSQL Company - Command Prompt, Inc.
Alvaro Herrera <alvherre@commandprompt.com> writes:
Simon Riggs wrote:
On a recent test the last command of the last test has failed:
DROP TABLESPACE testspace;
ERROR: tablespace "testspace" is not empty
Maybe it is failing due to files that are scheduled to be deleted by
next checkpoint? If it runs a checkpoint internally, perhaps there's a
race condition in the code that waits until the files are gone.
The buildfarm has shown this type of error occasionally, though AFAIR
only on Windows boxen. I had assumed it was a Windows-specific issue.
regards, tom lane
On Thu, 2008-11-06 at 10:20 -0500, Tom Lane wrote:
Alvaro Herrera <alvherre@commandprompt.com> writes:
Simon Riggs wrote:
On a recent test the last command of the last test has failed:
DROP TABLESPACE testspace;
ERROR: tablespace "testspace" is not emptyMaybe it is failing due to files that are scheduled to be deleted by
next checkpoint? If it runs a checkpoint internally, perhaps there's a
race condition in the code that waits until the files are gone.The buildfarm has shown this type of error occasionally, though AFAIR
only on Windows boxen. I had assumed it was a Windows-specific issue.
No MS Windows here.
--
Simon Riggs www.2ndQuadrant.com
PostgreSQL Training, Services and Support