fails to start up on readonly filesystem when it tried to rmdir the incoming directory #1332

Open
opened 2011-01-18 22:36:19 +00:00 by zooko · 3 comments
zooko commented 2011-01-18 22:36:19 +00:00
Owner

I just started a storage server node on a filesystem that was mounted read-only, and it failed to start, emitting:

owhiela5@ip-10-194-21-199:~/.tahoe$ tahoe start
STARTING /home/owhiela5/.tahoe
Traceback (most recent call last):
  File "/usr/lib/python2.6/dist-packages/twisted/application/app.py", line 626, in run
    runApp(config)
  File "/usr/lib/python2.6/dist-packages/twisted/scripts/twistd.py", line 23, in runApp
    _SomeApplicationRunner(config).run()
  File "/usr/lib/python2.6/dist-packages/twisted/application/app.py", line 374, in run
    self.application = self.createOrGetApplication()
  File "/usr/lib/python2.6/dist-packages/twisted/application/app.py", line 439, in createOrGetApplication
    application = getApplication(self.config, passphrase)
--- <exception caught here> ---
  File "/usr/lib/python2.6/dist-packages/twisted/application/app.py", line 450, in getApplication
    application = service.loadApplication(filename, style, passphrase)
  File "/usr/lib/python2.6/dist-packages/twisted/application/service.py", line 390, in loadApplication
    application = sob.loadValueFromFile(filename, 'application', passphrase)
  File "/usr/lib/python2.6/dist-packages/twisted/persisted/sob.py", line 210, in loadValueFromFile
    exec fileObj in d, d
  File "tahoe-client.tac", line 10, in <module>
    c = client.Client()
  File "/usr/lib/pymodules/python2.6/allmydata/client.py", line 129, in __init__
    self.init_storage()
  File "/usr/lib/pymodules/python2.6/allmydata/client.py", line 258, in init_storage
    expiration_sharetypes=expiration_sharetypes)
  File "/usr/lib/pymodules/python2.6/allmydata/storage/server.py", line 76, in __init__
    self._clean_incomplete()
  File "/usr/lib/pymodules/python2.6/allmydata/storage/server.py", line 158, in _clean_incomplete
    fileutil.rm_dir(self.incomingdir)
  File "/usr/lib/pymodules/python2.6/allmydata/util/fileutil.py", line 215, in rm_dir
    raise excs[0]
exceptions.OSError: [Errno 30] Read-only file system: '/home/owhiela5/.tahoe/storage/shares/incoming'

Failed to load application: [Errno 30] Read-only file system: '/home/owhiela5/.tahoe/storage/shares/incoming'

client node probably not started

I guess _clean_incomplete() should catch, log, and ignore any failure to clean the incoming directory.

I just started a storage server node on a filesystem that was mounted read-only, and it failed to start, emitting: ``` owhiela5@ip-10-194-21-199:~/.tahoe$ tahoe start STARTING /home/owhiela5/.tahoe Traceback (most recent call last): File "/usr/lib/python2.6/dist-packages/twisted/application/app.py", line 626, in run runApp(config) File "/usr/lib/python2.6/dist-packages/twisted/scripts/twistd.py", line 23, in runApp _SomeApplicationRunner(config).run() File "/usr/lib/python2.6/dist-packages/twisted/application/app.py", line 374, in run self.application = self.createOrGetApplication() File "/usr/lib/python2.6/dist-packages/twisted/application/app.py", line 439, in createOrGetApplication application = getApplication(self.config, passphrase) --- <exception caught here> --- File "/usr/lib/python2.6/dist-packages/twisted/application/app.py", line 450, in getApplication application = service.loadApplication(filename, style, passphrase) File "/usr/lib/python2.6/dist-packages/twisted/application/service.py", line 390, in loadApplication application = sob.loadValueFromFile(filename, 'application', passphrase) File "/usr/lib/python2.6/dist-packages/twisted/persisted/sob.py", line 210, in loadValueFromFile exec fileObj in d, d File "tahoe-client.tac", line 10, in <module> c = client.Client() File "/usr/lib/pymodules/python2.6/allmydata/client.py", line 129, in __init__ self.init_storage() File "/usr/lib/pymodules/python2.6/allmydata/client.py", line 258, in init_storage expiration_sharetypes=expiration_sharetypes) File "/usr/lib/pymodules/python2.6/allmydata/storage/server.py", line 76, in __init__ self._clean_incomplete() File "/usr/lib/pymodules/python2.6/allmydata/storage/server.py", line 158, in _clean_incomplete fileutil.rm_dir(self.incomingdir) File "/usr/lib/pymodules/python2.6/allmydata/util/fileutil.py", line 215, in rm_dir raise excs[0] exceptions.OSError: [Errno 30] Read-only file system: '/home/owhiela5/.tahoe/storage/shares/incoming' Failed to load application: [Errno 30] Read-only file system: '/home/owhiela5/.tahoe/storage/shares/incoming' client node probably not started ``` I guess `_clean_incomplete()` should catch, log, and ignore any failure to clean the incoming directory.
tahoe-lafs added the
code-storage
major
defect
1.8.1
labels 2011-01-18 22:36:19 +00:00
tahoe-lafs added this to the undecided milestone 2011-01-18 22:36:19 +00:00
tahoe-lafs modified the milestone from undecided to 1.9.0 2011-01-30 16:20:50 +00:00
zooko commented 2011-07-16 21:10:45 +00:00
Author
Owner

Josh and I are going to fix this in our work on #999. Bumping it out of Milestone 1.9.0 and into Milestone "soon".

Josh and I are going to fix this in our work on #999. Bumping it out of Milestone 1.9.0 and into Milestone "soon".
tahoe-lafs modified the milestone from 1.9.0 to soon 2011-07-16 21:10:45 +00:00
Lcstyle commented 2014-09-27 02:26:50 +00:00
Author
Owner

sounds like an easy in for 1.11?

sounds like an easy in for 1.11?
daira commented 2014-09-27 13:40:34 +00:00
Author
Owner

1.11 is frozen for work on new tickets, but it would be nice to have the the ability to run on a readonly filesystem for 1.12. I'm not sure this is the only bug preventing that, though.

1.11 is frozen for work on new tickets, but it would be nice to have the the ability to run on a readonly filesystem for 1.12. I'm not sure this is the only bug preventing that, though.
tahoe-lafs added
normal
and removed
major
labels 2014-09-27 13:40:34 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: tahoe-lafs/trac-2024-07-25#1332
No description provided.