[Bugs] [Bug 1689981] New: OSError: [Errno 1] Operation not permitted - failing with socket files?

bugzilla at redhat.com bugzilla at redhat.com
Mon Mar 18 14:50:40 UTC 2019


            Bug ID: 1689981
           Summary: OSError: [Errno 1] Operation not permitted - failing
                    with socket files?
           Product: GlusterFS
           Version: 4.1
          Hardware: x86_64
                OS: Linux
            Status: NEW
         Component: geo-replication
          Severity: high
          Assignee: bugs at gluster.org
          Reporter: davobbi at gmail.com
                CC: bugs at gluster.org
  Target Milestone: ---
    Classification: Community

Description of problem:

georeplciation during "History Crawl" starts failing on each of the three
bricks, one after the other. I have enabled DEBUG for all the logs configurable
by the geo-replication command.

Running glusterfs v4.16 the behaviour is as follow:
- The "History Crawl" worked fine for about one hr, it actually replicated some
files and folders albeit most of them looks empty
- at some point it starts becoming faulty, try to start on another brick,
faulty and so on
- in the logs, Python exception above mentioned is raised:
[2019-03-17 18:52:49.565040] E [syncdutils(worker
<top>: FAIL:                                                                    
Traceback (most recent call last):
  File "/usr/libexec/glusterfs/python/syncdaemon/gsyncd.py", line 311, in main
  File "/usr/libexec/glusterfs/python/syncdaemon/subcmds.py", line 72, in
  File "/usr/libexec/glusterfs/python/syncdaemon/resource.py", line 1291, in
  File "/usr/libexec/glusterfs/python/syncdaemon/master.py", line 615, in
  File "/usr/libexec/glusterfs/python/syncdaemon/master.py", line 1569, in
  File "/usr/libexec/glusterfs/python/syncdaemon/master.py", line 1469, in
  File "/usr/libexec/glusterfs/python/syncdaemon/master.py", line 1304, in
    self.process_change(change, done, retry)
  File "/usr/libexec/glusterfs/python/syncdaemon/master.py", line 1203, in
    failures = self.slave.server.entry_ops(entries)
  File "/usr/libexec/glusterfs/python/syncdaemon/repce.py", line 216, in
    return self.ins(self.meth, *a)
  File "/usr/libexec/glusterfs/python/syncdaemon/repce.py", line 198, in
    raise res
OSError: [Errno 1] Operation not permitted

- The operation before the exception:
[2019-03-17 18:52:49.545103] D [master(worker
_GMaster: entries: [{'uid': 7575, 'gfid':
'e1ad7c98-f32a-4e48-9902-cc75840de7c3', 'gid': 100, 'mode'
: 49536, 'entry':
'op': 'MKNOD'}, {'gfid': 'e1ad7c98-f32a-4e48-9902-cc75840de7c3', 'entry':
234d005406a13deb4375459715', 'stat': {'atime': 1552661403.3846507, 'gid': 100,
'mtime': 1552661403.3846507, 'uid': 7575, 'mode': 49536}, 'link': None, 'op':
'LINK'}, {'gfid': 'e1ad7c98-f32a-4e48-9902-cc75840de7c3', 'entry':
trol_f7c33270dc9db9234d005406a13deb4375459715.6lvofzOuVnfAwOwY', 'op':
[2019-03-17 18:52:49.548614] D [repce(worker
RepceClient: call 56917:140179359156032:1552848769.55 entry_ops([{'uid': 7575,
'gfid': 'e1ad7c98-f32a-4e48-9902-
cc75840de7c3', 'gid': 100, 'mode': 49536, 'entry':
'op': 'MKNOD'}, {'gfid': 'e1ad7c98-f32a-4e48-9902-cc75840de7c3', 'entry':
129abe671/.control_f7c33270dc9db9234d005406a13deb4375459715', 'stat': {'atime':
1552661403.3846507, 'gid': 100, 'mtime': 1552661403.3846507, 'uid': 7575,
'mode': 49536}, 'link': None, 'op': 'LINK'}, {'gfid':
'e1ad7c98-f32a-4e48-9902-cc75840de7c3', 'entry': '.gfid/5219e4b8
'op': 'UNLINK'}],) ...

- The gfid highlighted, is pointing to these control files which are "unix
sockets" as per below:
rw-------  2 pippo users     0 Mar 14 16:32
srw-------  2 pippo users     0 Mar 14 16:33
srw-------  2 pippo users     0 Mar 14 16:32
srw-------  2 pippo users     0 Mar 15 15:50

So it seems geo-replicaiton should be at least skipping such file rather than
raising an exception? 

Steps to Reproduce:
1. replicate unix socket files

Actual results:
Os Error exception

Expected results:
Files to be skipped and replication continues

Additional info:

You are receiving this mail because:
You are on the CC list for the bug.
You are the assignee for the bug.

More information about the Bugs mailing list