-
Type: Improvement
-
Status: Resolved
-
Priority: Major
-
Resolution: Won't Fix
-
Affects Version/s: 1.3.1107
-
Fix Version/s: 2.0.1004
-
Component/s: Remote client
-
Sprint:Sprint Drive 7.1-2
-
Story Points:2
When the server is taking too much time to answer a request, for example when getting the change summary, Drive only displays the timeout traceback in the logs as an ignored network error and tries indefinitely to connect to the server, possibly creating a new thread each time and saturating the thread pool.
In such case Drive switches to Offline status with a grey systray icon.
We could add some information about the reason why it switched offline: because of a timeout, and maybe suspend Drive and let the user resume it manually to try again later.
Timeout traceback:
2014-11-17 15:55:48,999 25713 140094518327040 ERROR nxdrive.synchronizer Traceback of ignored network error: Traceback (most recent call last): File "/home/ataillefer/sources/nuxeo/addons/nuxeo-drive/nuxeo-drive-client/nxdrive/synchronizer.py", line 1858, in update_synchronize_server server_binding, session=session) File "/home/ataillefer/sources/nuxeo/addons/nuxeo-drive/nuxeo-drive-client/nxdrive/synchronizer.py", line 1674, in _get_remote_changes summary = remote_client.get_changes(server_binding) File "/home/ataillefer/sources/nuxeo/addons/nuxeo-drive/nuxeo-drive-client/nxdrive/client/remote_filtered_file_system_client.py", line 52, in get_changes server_binding) File "/home/ataillefer/sources/nuxeo/addons/nuxeo-drive/nuxeo-drive-client/nxdrive/client/remote_file_system_client.py", line 228, in get_changes server_binding.last_root_definitions)) File "/home/ataillefer/sources/nuxeo/addons/nuxeo-drive/nuxeo-drive-client/nxdrive/client/base_automation_client.py", line 320, in execute resp = self.opener.open(req, timeout=timeout) File "/usr/lib/python2.7/urllib2.py", line 400, in open response = self._open(req, data) File "/usr/lib/python2.7/urllib2.py", line 418, in _open '_open', req) File "/usr/lib/python2.7/urllib2.py", line 378, in _call_chain result = func(*args) File "/usr/lib/python2.7/urllib2.py", line 1207, in http_open return self.do_open(httplib.HTTPConnection, req) File "/usr/lib/python2.7/urllib2.py", line 1180, in do_open r = h.getresponse(buffering=True) File "/usr/lib/python2.7/httplib.py", line 1030, in getresponse response.begin() File "/usr/lib/python2.7/httplib.py", line 407, in begin version, status, reason = self._read_status() File "/usr/lib/python2.7/httplib.py", line 365, in _read_status line = self.fp.readline() File "/usr/lib/python2.7/socket.py", line 447, in readline data = self._sock.recv(self._rbufsize) timeout: timed out 2014-11-17 15:55:53,678 25713 140094518327040 DEBUG nxdrive.gui.application Switching to online mode for: /home/ataillefer/Nuxeo Drive 2014-11-17 15:55:53,686 25713 140095116474112 DEBUG nxdrive.gui.application Updated icon state to: enabled