Waiting for read-lock on file: Difference between revisions
No edit summary |
No edit summary |
||
Line 22: | Line 22: | ||
if name == 'table.lock': os.remove(os.path.join(root,name)) | if name == 'table.lock': os.remove(os.path.join(root,name)) | ||
</source> | </source> | ||
== Which process is locking the file? == | |||
It is possible to find the process holding the lock with the following command: | |||
<source lang="python"> | |||
showtablelock tablename | |||
</source> | |||
If the table is locked, it tells which pid holds the lock. Thereafter ''ps'' can tell you exactly what process it is and you can decide if it needs to be ended or killed. | |||
{{Checked 3.0.0}} | {{Checked 3.0.0}} |
Revision as of 10:18, 29 November 2011
You might come across an error that looks like this:
2010-02-18 01:08:42 INFO listobs Process 21666: waiting for read-lock on file .../Leo/leo1.ms/table.lock
And no tasks will operate within CASA on the .ms file anymore. Quitting out and restarting CASA doesn't seem to help.
Right now, the suggested fix for this is to try a clearstat:
clearstat
Sometimes typing this multiple times can help make sure the table is really unlocked.
In extreme cases, you might have to just delete the table.lock file manually in your .ms directory. Here is the pythonic way to get rid of table-lock files in the present directory and subdirectories. Use the following code with caution!
import os
for root, dirs, files in os.walk('./'):
for name in files:
if name == 'table.lock': os.remove(os.path.join(root,name))
Which process is locking the file?
It is possible to find the process holding the lock with the following command:
showtablelock tablename
If the table is locked, it tells which pid holds the lock. Thereafter ps can tell you exactly what process it is and you can decide if it needs to be ended or killed.
Last checked on CASA Version 3.0.0 (r9860).
--Laura Chomiuk 20:03, 18 February 2010 (UTC)