{"action":"created","issue":{"url":"https://api.github.com/repos/GeoNode/geonode/issues/1294","labels_url":"https://api.github.com/repos/GeoNode/geonode/issues/1294/labels{/name}","comments_url":"https://api.github.com/repos/GeoNode/geonode/issues/1294/comments","events_url":"https://api.github.com/repos/GeoNode/geonode/issues/1294/events","html_url":"https://github.com/GeoNode/geonode/issues/1294","id":23704749,"number":1294,"title":"timeout uploading files","user":{"login":"batje","id":547014,"avatar_url":"https://avatars.githubusercontent.com/u/547014?v=3","gravatar_id":"","url":"https://api.github.com/users/batje","html_url":"https://github.com/batje","followers_url":"https://api.github.com/users/batje/followers","following_url":"https://api.github.com/users/batje/following{/other_user}","gists_url":"https://api.github.com/users/batje/gists{/gist_id}","starred_url":"https://api.github.com/users/batje/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/batje/subscriptions","organizations_url":"https://api.github.com/users/batje/orgs","repos_url":"https://api.github.com/users/batje/repos","events_url":"https://api.github.com/users/batje/events{/privacy}","received_events_url":"https://api.github.com/users/batje/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/GeoNode/geonode/labels/bug","name":"bug","color":"ec6427"},{"url":"https://api.github.com/repos/GeoNode/geonode/labels/upload","name":"upload","color":"ededed"}],"state":"open","locked":false,"assignee":null,"milestone":{"url":"https://api.github.com/repos/GeoNode/geonode/milestones/5","labels_url":"https://api.github.com/repos/GeoNode/geonode/milestones/5/labels","id":345475,"number":5,"title":"2.4","description":"","creator":{"login":"capooti","id":148380,"avatar_url":"https://avatars.githubusercontent.com/u/148380?v=3","gravatar_id":"","url":"https://api.github.com/users/capooti","html_url":"https://github.com/capooti","followers_url":"https://api.github.com/users/capooti/followers","following_url":"https://api.github.com/users/capooti/following{/other_user}","gists_url":"https://api.github.com/users/capooti/gists{/gist_id}","starred_url":"https://api.github.com/users/capooti/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/capooti/subscriptions","organizations_url":"https://api.github.com/users/capooti/orgs","repos_url":"https://api.github.com/users/capooti/repos","events_url":"https://api.github.com/users/capooti/events{/privacy}","received_events_url":"https://api.github.com/users/capooti/received_events","type":"User","site_admin":false},"open_issues":196,"closed_issues":200,"state":"open","created_at":"2013-05-31T08:29:15Z","updated_at":"2015-02-03T12:11:04Z","due_on":"2015-02-14T08:00:00Z","closed_at":null},"comments":4,"created_at":"2013-12-04T09:58:30Z","updated_at":"2015-02-03T12:14:18Z","closed_at":null,"body":"When uploading of a very bad connection (welcome to Uganda), I get a timeout. Well, I see I have a timout in my apache.log, but on the client I only see the upload bar never finishes.\r\n\r\nFirst step in fixing this would be to throw an error on the client when the server stops receiving data.\r\n\r\nSecond and better fix would be to allow for extending the timeout as a setting.\r\n\r\nThis is what is in the apache.log file:\r\n\r\n```\r\n[Wed Dec 04 13:09:37 2013] [warn] mod_wsgi: Runtime using Python/2.7.3.\r\n[Wed Dec 04 13:09:37 2013] [notice] Apache/2.2.22 (Ubuntu) mod_wsgi/3.3 Python/2.7.3 configured -- resuming normal operations\r\n[Wed Dec 04 13:13:06 2013] [error] [client 41.220.13.22] (70007)The timeout specified has expired: mod_wsgi (pid=30303): Unable to get bucket brigade for request., referer: http://geoclean.mountbatten.net/upload/\r\n[Wed Dec 04 03:13:08 2013] [error] Internal Server Error: /layers/upload\r\n[Wed Dec 04 03:13:08 2013] [error] Traceback (most recent call last):\r\n[Wed Dec 04 03:13:08 2013] [error]   File \"/usr/lib/python2.7/dist-packages/django/core/handlers/base.py\", line 109, in get_response\r\n[Wed Dec 04 03:13:08 2013] [error]     response = middleware_method(request, callback, callback_args, callback_kwargs)\r\n[Wed Dec 04 03:13:08 2013] [error]   File \"/usr/lib/python2.7/dist-packages/django/middleware/csrf.py\", line 185, in process_view\r\n[Wed Dec 04 03:13:08 2013] [error]     request_csrf_token = request.POST.get('csrfmiddlewaretoken', '')\r\n[Wed Dec 04 03:13:08 2013] [error]   File \"/usr/lib/python2.7/dist-packages/django/core/handlers/wsgi.py\", line 198, in _get_post\r\n[Wed Dec 04 03:13:08 2013] [error]     self._load_post_and_files()\r\n[Wed Dec 04 03:13:08 2013] [error]   File \"/usr/lib/python2.7/dist-packages/django/http/request.py\", line 217, in _load_post_and_files\r\n[Wed Dec 04 03:13:08 2013] [error]     self._post, self._files = self.parse_file_upload(self.META, data)\r\n[Wed Dec 04 03:13:08 2013] [error]   File \"/usr/lib/python2.7/dist-packages/django/http/request.py\", line 177, in parse_file_upload\r\n[Wed Dec 04 03:13:08 2013] [error]     return parser.parse()\r\n[Wed Dec 04 03:13:08 2013] [error]   File \"/usr/lib/python2.7/dist-packages/django/http/multipartparser.py\", line 138, in parse\r\n[Wed Dec 04 03:13:08 2013] [error]     for item_type, meta_data, field_stream in Parser(stream, self._boundary):\r\n[Wed Dec 04 03:13:08 2013] [error]   File \"/usr/lib/python2.7/dist-packages/django/http/multipartparser.py\", line 600, in __iter__\r\n[Wed Dec 04 03:13:08 2013] [error]     for sub_stream in boundarystream:\r\n[Wed Dec 04 03:13:08 2013] [error]   File \"/usr/lib/python2.7/dist-packages/django/utils/six.py\", line 414, in next\r\n[Wed Dec 04 03:13:08 2013] [error]     return type(self).__next__(self)\r\n[Wed Dec 04 03:13:08 2013] [error]   File \"/usr/lib/python2.7/dist-packages/django/http/multipartparser.py\", line 412, in __next__\r\n[Wed Dec 04 03:13:08 2013] [error]     return LazyStream(BoundaryIter(self._stream, self._boundary))\r\n[Wed Dec 04 03:13:08 2013] [error]   File \"/usr/lib/python2.7/dist-packages/django/http/multipartparser.py\", line 438, in __init__\r\n[Wed Dec 04 03:13:08 2013] [error]     unused_char = self._stream.read(1)\r\n[Wed Dec 04 03:13:08 2013] [error]   File \"/usr/lib/python2.7/dist-packages/django/http/multipartparser.py\", line 312, in read\r\n[Wed Dec 04 03:13:08 2013] [error]     out = b''.join(parts())\r\n[Wed Dec 04 03:13:08 2013] [error]   File \"/usr/lib/python2.7/dist-packages/django/http/multipartparser.py\", line 305, in parts\r\n[Wed Dec 04 03:13:08 2013] [error]     chunk = next(self)\r\n[Wed Dec 04 03:13:08 2013] [error]   File \"/usr/lib/python2.7/dist-packages/django/utils/six.py\", line 414, in next\r\n[Wed Dec 04 03:13:08 2013] [error]     return type(self).__next__(self)\r\n[Wed Dec 04 03:13:08 2013] [error]   File \"/usr/lib/python2.7/dist-packages/django/http/multipartparser.py\", line 327, in __next__\r\n[Wed Dec 04 03:13:08 2013] [error]     output = next(self._producer)\r\n[Wed Dec 04 03:13:08 2013] [error]   File \"/usr/lib/python2.7/dist-packages/django/utils/six.py\", line 414, in next\r\n[Wed Dec 04 03:13:08 2013] [error]     return type(self).__next__(self)\r\n[Wed Dec 04 03:13:08 2013] [error]   File \"/usr/lib/python2.7/dist-packages/django/http/multipartparser.py\", line 388, in __next__\r\n[Wed Dec 04 03:13:08 2013] [error]     data = self.flo.read(self.chunk_size)\r\n[Wed Dec 04 03:13:08 2013] [error]   File \"/usr/lib/python2.7/dist-packages/django/http/request.py\", line 243, in read\r\n[Wed Dec 04 03:13:08 2013] [error]     return self._stream.read(*args, **kwargs)\r\n[Wed Dec 04 03:13:08 2013] [error]   File \"/usr/lib/python2.7/dist-packages/django/core/handlers/wsgi.py\", line 104, in read\r\n[Wed Dec 04 03:13:08 2013] [error]     result = self.buffer + self._read_limited(size - len(self.buffer))\r\n[Wed Dec 04 03:13:08 2013] [error]   File \"/usr/lib/python2.7/dist-packages/django/core/handlers/wsgi.py\", line 92, in _read_limited\r\n[Wed Dec 04 03:13:08 2013] [error]     result = self.stream.read(size)\r\n[Wed Dec 04 03:13:08 2013] [error] IOError: request data read error\r\n[Wed Dec 04 03:13:08 2013] [error] [client 41.220.13.22] mod_wsgi (pid=30111): Exception occurred processing WSGI script '/var/www/geonode/wsgi/geonode.wsgi'.\r\n[Wed Dec 04 03:13:08 2013] [error] [client 41.220.13.22] IOError: failed to write data\r\n```\r\n"},"comment":{"url":"https://api.github.com/repos/GeoNode/geonode/issues/comments/72640550","html_url":"https://github.com/GeoNode/geonode/issues/1294#issuecomment-72640550","issue_url":"https://api.github.com/repos/GeoNode/geonode/issues/1294","id":72640550,"user":{"login":"jj0hns0n","id":506078,"avatar_url":"https://avatars.githubusercontent.com/u/506078?v=3","gravatar_id":"","url":"https://api.github.com/users/jj0hns0n","html_url":"https://github.com/jj0hns0n","followers_url":"https://api.github.com/users/jj0hns0n/followers","following_url":"https://api.github.com/users/jj0hns0n/following{/other_user}","gists_url":"https://api.github.com/users/jj0hns0n/gists{/gist_id}","starred_url":"https://api.github.com/users/jj0hns0n/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jj0hns0n/subscriptions","organizations_url":"https://api.github.com/users/jj0hns0n/orgs","repos_url":"https://api.github.com/users/jj0hns0n/repos","events_url":"https://api.github.com/users/jj0hns0n/events{/privacy}","received_events_url":"https://api.github.com/users/jj0hns0n/received_events","type":"User","site_admin":false},"created_at":"2015-02-03T12:14:18Z","updated_at":"2015-02-03T12:14:18Z","body":"@batje can you test this with the latest beta that includes the fix @ischneider mentioned."}}