francoislaurent / escale

Escale - Client-to-client synchronization based on external relay storage
Other
3 stars 2 forks source link

ftplib.error_temp: 421 when nothing to do #21

Closed francoislaurent closed 7 years ago

francoislaurent commented 7 years ago

With pure-ftpd:

25/05 14:21 [CRITICAL]  manager.run:192 Traceback (most recent call last):
  File "*/manager/manager.py", line 169, in run
    new |= self.download()
  File "*/manager/manager.py", line 237, in download
    remote = self.filter(self.relay.listReady(self.dir))
  File "*/relay/relay.py", line 428, in listReady
    ls = self._list(remote_dir, recursive=recursive)
  File "*/relay/ftp.py", line 351, in _list
    self.ftp.cwd(fullpath)
  File "/usr/lib/python3.5/ftplib.py", line 630, in cwd
    return self.voidcmd(cmd)
  File "/usr/lib/python3.5/ftplib.py", line 277, in voidcmd
    return self.voidresp()
  File "/usr/lib/python3.5/ftplib.py", line 250, in voidresp
    resp = self.getresp()
  File "/usr/lib/python3.5/ftplib.py", line 243, in getresp
    raise error_temp(resp)
ftplib.error_temp: 421 Timeout - try typing a little faster next time

25/05 14:21 [CRITICAL]  manager.run:192 Traceback (most recent call last):
  File "*/manager/manager.py", line 166, in run
    self.sanityCheck()
  File "*/manager/manager.py", line 227, in sanityCheck
    for lock in self.relay.listCorrupted(self.dir):
  File "*/relay/relay.py", line 444, in listCorrupted
    ls = self._list(remote_dir, recursive=recursive, stats=['mtime'])
  File "*/relay/ftp.py", line 351, in _list
    self.ftp.cwd(fullpath)
  File "/usr/lib/python3.5/ftplib.py", line 630, in cwd
    return self.voidcmd(cmd)
  File "/usr/lib/python3.5/ftplib.py", line 276, in voidcmd
    self.putcmd(cmd)
  File "/usr/lib/python3.5/ftplib.py", line 198, in putcmd
    self.putline(line)
  File "/usr/lib/python3.5/ftplib.py", line 193, in putline
    self.sock.sendall(line.encode(self.encoding))
BrokenPipeError: [Errno 32] Broken pipe
francoislaurent commented 7 years ago

The above error was hit with refresh time set to 4000 seconds.

francoislaurent commented 7 years ago

With proftpd:

CRITICAL:manager.run: Traceback (most recent call last):
  File "*/manager/manager.py", line 159, in run
    new |= self.upload()
  File "*/manager/manager.py", line 274, in upload
    remote = self.relay.listTransfered(self.dir, end2end=False)
  File "*/relay/relay.py", line 464, in listTransfered
    ls = self._list(remote_dir, recursive=recursive)
  File "*/relay/ftp.py", line 350, in _list
    self.ftp.cwd(fullpath)
  File "/usr/lib/python2.7/ftplib.py", line 562, in cwd
    return self.voidcmd(cmd)
  File "/usr/lib/python2.7/ftplib.py", line 254, in voidcmd
    return self.voidresp()
  File "/usr/lib/python2.7/ftplib.py", line 229, in voidresp
    resp = self.getresp()
  File "/usr/lib/python2.7/ftplib.py", line 222, in getresp
    raise error_temp, resp
error_temp: 421 No transfer timeout (600 seconds): closing control connection
francoislaurent commented 7 years ago

Solved in 0.5-beta