#9400: flock causes problems when writing to an NFS share
-------------------------------------+-------------------------------------
     Reporter:  mikeh                |                    Owner:  nobody
         Type:  Bug                  |                   Status:  closed
    Component:  File                 |                  Version:  1.0
  uploads/storage                    |               Resolution:
     Severity:  Normal               |  worksforme
     Keywords:                       |             Triage Stage:  Design
                                     |  decision needed
    Has patch:  0                    |      Needs documentation:  0
  Needs tests:  0                    |  Patch needs improvement:  0
Easy pickings:  0                    |                    UI/UX:  0
-------------------------------------+-------------------------------------

Comment (by Marcin Nowak):

 After 6 years It does not work for me, too, but for GlusterFS share.
 I must set STATIC_ROOT to local path, which is a symlink pointing to to
 the GlusterFS path.

 When the STATIC_ROOT is set directly to GlusterFS share, Django will
 crash:

 {{{
 Type 'yes' to continue, or 'no' to cancel: yes
 Deleting 'fonts/FontAwesome.otf'
 Copying '[...]static/fonts/FontAwesome.otf'
 Traceback (most recent call last):
   File "bin/diagnostictool", line 39, in <module>
     sys.exit(djangorecipe.manage.main('diagnostictool.production'))
   File "[...]eggs/djangorecipe-1.11-py2.7.egg/djangorecipe/manage.py",
 line 9, in main
     management.execute_from_command_line(sys.argv)
   File
 "[...]eggs/Django-1.8.6-py2.7.egg/django/core/management/__init__.py",
 line 354, in execute_from_command_line
     utility.execute()
   File
 "[...]eggs/Django-1.8.6-py2.7.egg/django/core/management/__init__.py",
 line 346, in execute
     self.fetch_command(subcommand).run_from_argv(self.argv)
   File "[...]eggs/Django-1.8.6-py2.7.egg/django/core/management/base.py",
 line 394, in run_from_argv
     self.execute(*args, **cmd_options)
   File "[...]eggs/Django-1.8.6-py2.7.egg/django/core/management/base.py",
 line 445, in execute
     output = self.handle(*args, **options)
   File
 
"[...]eggs/Django-1.8.6-py2.7.egg/django/contrib/staticfiles/management/commands/collectstatic.py",
 line 168, in handle
     collected = self.collect()
   File
 
"[...]eggs/Django-1.8.6-py2.7.egg/django/contrib/staticfiles/management/commands/collectstatic.py",
 line 107, in collect
     handler(path, prefixed_path, storage)
   File
 
"[...]eggs/Django-1.8.6-py2.7.egg/django/contrib/staticfiles/management/commands/collectstatic.py",
 line 315, in copy_file
     self.storage.save(prefixed_path, source_file)
   File "[...]eggs/Django-1.8.6-py2.7.egg/django/core/files/storage.py",
 line 63, in save
     name = self._save(name, content)
   File "[...]eggs/Django-1.8.6-py2.7.egg/django/core/files/storage.py",
 line 258, in _save
     locks.unlock(fd)
   File "[...]eggs/Django-1.8.6-py2.7.egg/django/core/files/locks.py", line
 112, in unlock
     ret = fcntl.flock(_fd(f), fcntl.LOCK_UN)
 IOError: [Errno 2] No such file or directory
 }}}

--
Ticket URL: <https://code.djangoproject.com/ticket/9400#comment:12>
Django <https://code.djangoproject.com/>
The Web framework for perfectionists with deadlines.

-- 
You received this message because you are subscribed to the Google Groups 
"Django updates" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to django-updates+unsubscr...@googlegroups.com.
To post to this group, send email to django-updates@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-updates/063.4ebaee2d7540e7e07494743a2e9b77dd%40djangoproject.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to