huggingface / huggingface/dataset-viewer
Catch another UnexpectedException
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 900
- Forks
- 131
- Avg merge
- 9h 26m
- Merged PRs (30d)
- 14
Description
https://discuss.huggingface.co/t/strange-problems-with-datasets-server/43871/8
https://huggingface.co/datasets/rippleripple/ProbMed
The error was in step config-parquet-and-info:
{
"error": "(ProtocolError('Connection aborted.', RemoteDisconnected('Remote end closed connection without response')), '(Request ID: 2529cb6c-46ac-4c17-8e7a-44488f47d04e)')",
"cause_exception": "ConnectionError",
"cause_message": "(ProtocolError('Connection aborted.', RemoteDisconnected('Remote end closed connection without response')), '(Request ID: 2529cb6c-46ac-4c17-8e7a-44488f47d04e)')",
"cause_traceback": [
"Traceback (most recent call last):\n",
" File \"/src/services/worker/.venv/lib/python3.9/site-packages/urllib3/connectionpool.py\", line 715, in urlopen\n httplib_response = self._make_request(\n",
" File \"/src/services/worker/.venv/lib/python3.9/site-packages/urllib3/connectionpool.py\", line 467, in _make_request\n six.raise_from(e, None)\n",
" File \"<string>\", line 3, in raise_from\n",
" File \"/src/services/worker/.venv/lib/python3.9/site-packages/urllib3/connectionpool.py\", line 462, in _make_request\n httplib_response = conn.getresponse()\n",
" File \"/usr/local/lib/python3.9/http/client.py\", line 1377, in getresponse\n response.begin()\n",
" File \"/usr/local/lib/python3.9/http/client.py\", line 320, in begin\n version, status, reason = self._read_status()\n",
" File \"/usr/local/lib/python3.9/http/client.py\", line 289, in _read_status\n raise RemoteDisconnected(\"Remote end closed connection without\"\n",
"http.client.RemoteDisconnected: Remote end closed connection without response\n",
"\nDuring handling of the above exception, another exception occurred:\n\n",
"Traceback (most recent call last):\n",
" File \"/src/services/worker/.venv/lib/python3.9/site-packages/requests/adapters.py\", line 589, in send\n resp = conn.urlopen(\n",
" File \"/src/services/worker/.venv/lib/python3.9/site-packages/urllib3/connectionpool.py\", line 801, in urlopen\n retries = retries.increment(\n",
" File \"/src/services/worker/.venv/lib/python3.9/site-packages/urllib3/util/retry.py\", line 552, in increment\n raise six.reraise(type(error), error, _stacktrace)\n",
" File \"/src/services/worker/.venv/lib/python3.9/site-packages/urllib3/packages/six.py\", line 769, in reraise\n raise value.with_traceback(tb)\n",
" File \"/src/services/worker/.venv/lib/python3.9/site-packages/urllib3/connectionpool.py\", line 715, in urlopen\n httplib_response = self._make_request(\n",
" File \"/src/services/worker/.venv/lib/python3.9/site-packages/urllib3/connectionpool.py\", line 467, in _make_request\n six.raise_from(e, None)\n",
" File \"<string>\", line 3, in raise_from\n",
" File \"/src/services/worker/.venv/lib/python3.9/site-packages/urllib3/connectionpool.py\", line 462, in _make_request\n httplib_response = conn.getresponse()\n",
" File \"/usr/local/lib/python3.9/http/client.py\", line 1377, in getresponse\n response.begin()\n",
" File \"/usr/local/lib/python3.9/http/client.py\", line 320, in begin\n version, status, reason = self._read_status()\n",
" File \"/usr/local/lib/python3.9/http/client.py\", line 289, in _read_status\n raise RemoteDisconnected(\"Remote end closed connection without\"\n",
"urllib3.exceptions.ProtocolError: ('Connection aborted.', RemoteDisconnected('Remote end closed connection without response'))\n",
"\nDuring handling of the above exception, another exception occurred:\n\n",
"Traceback (most recent call last):\n",
" File \"/src/services/worker/src/worker/job_manager.py\", line 127, in process\n job_result = self.job_runner.compute()\n",
" File \"/src/services/worker/src/worker/job_runners/config/parquet_and_info.py\", line 1671, in compute\n compute_config_parquet_and_info_response(\n",
" File \"/src/services/worker/src/worker/job_runners/config/parquet_and_info.py\", line 1577, in compute_config_parquet_and_info_response\n parquet_operations = convert_to_parquet(builder)\n",
" File \"/src/services/worker/src/worker/job_runners/config/parquet_and_info.py\", line 1191, in convert_to_parquet\n builder.download_and_prepare(\n",
" File \"/src/services/worker/.venv/lib/python3.9/site-packages/datasets/builder.py\", line 1027, in download_and_prepare\n self._download_and_prepare(\n",
" File \"/src/services/worker/.venv/lib/python3.9/site-packages/datasets/builder.py\", line 1789, in _download_and_prepare\n super()._download_and_prepare(\n",
" File \"/src/services/worker/.venv/lib/python3.9/site-packages/datasets/builder.py\", line 1100, in _download_and_prepare\n split_generators = self._split_generators(dl_manager, **split_generators_kwargs)\n",
" File \"/src/services/worker/.venv/lib/python3.9/site-packages/datasets/packaged_modules/folder_based_builder/folder_based_builder.py\", line 114, in _split_generators\n downloaded_files = dl_manager.download(files)\n",
" File \"/src/services/worker/.venv/lib/python3.9/site-packages/datasets/download/download_manager.py\", line 257, in download\n downloaded_path_or_paths = map_nested(\n",
" File \"/src/services/worker/.venv/lib/python3.9/site-packages/datasets/utils/py_utils.py\", line 511, in map_nested\n mapped = [\n",
" File \"/src/services/worker/.venv/lib/python3.9/site-packages/datasets/utils/py_utils.py\", line 512, in <listcomp>\n _single_map_nested((function, obj, batched, batch_size, types, None, True, None))\n",
" File \"/src/services/worker/.venv/lib/python3.9/site-packages/datasets/utils/py_utils.py\", line 380, in _single_map_nested\n return [mapped_item for batch in iter_batched(data_struct, batch_size) for mapped_item in function(batch)]\n",
" File \"/src/services/worker/.venv/lib/python3.9/site-packages/datasets/utils/py_utils.py\", line 380, in <listcomp>\n return [mapped_item for batch in iter_batched(data_struct, batch_size) for mapped_item in function(batch)]\n",
" File \"/src/services/worker/.venv/lib/python3.9/site-packages/datasets/download/download_manager.py\", line 300, in _download_batched\n return thread_map(\n",
" File \"/src/services/worker/.venv/lib/python3.9/site-packages/tqdm/contrib/concurrent.py\", line 69, in thread_map\n return _executor_map(ThreadPoolExecutor, fn, *iterables, **tqdm_kwargs)\n",
" File \"/src/services/worker/.venv/lib/python3.9/site-packages/tqdm/contrib/concurrent.py\", line 51, in _executor_map\n return list(tqdm_class(ex.map(fn, *iterables, chunksize=chunksize), **kwargs))\n",
" File \"/src/services/worker/.venv/lib/python3.9/site-packages/tqdm/std.py\", line 1181, in __iter__\n for obj in iterable:\n",
" File \"/usr/local/lib/python3.9/concurrent/futures/_base.py\", line 609, in result_iterator\n yield fs.pop().result()\n",
" File \"/usr/local/lib/python3.9/concurrent/futures/_base.py\", line 446, in result\n return self.__get_result()\n",
" File \"/usr/local/lib/python3.9/concurrent/futures/_base.py\", line 391, in __get_result\n raise self._exception\n",
" File \"/usr/local/lib/python3.9/concurrent/futures/thread.py\", line 58, in run\n result = self.fn(*self.args, **self.kwargs)\n",
" File \"/src/services/worker/.venv/lib/python3.9/site-packages/datasets/download/download_manager.py\", line 323, in _download_single\n out = cached_path(url_or_filename, download_config=download_config)\n",
" File \"/src/services/worker/.venv/lib/python3.9/site-packages/datasets/utils/file_utils.py\", line 201, in cached_path\n output_path = get_from_cache(\n",
" File \"/src/services/worker/.venv/lib/python3.9/site-packages/datasets/utils/file_utils.py\", line 676, in get_from_cache\n fsspec_get(\n",
" File \"/src/services/worker/.venv/lib/python3.9/site-packages/datasets/utils/file_utils.py\", line 385, in fsspec_get\n fs.get_file(path, temp_file.name, callback=callback)\n",
" File \"/src/services/worker/.venv/lib/python3.9/site-packages/huggingface_hub/hf_file_system.py\", line 636, in get_file\n http_get(\n",
" File \"/src/services/worker/.venv/lib/python3.9/site-packages/huggingface_hub/file_download.py\", line 456, in http_get\n r = _request_wrapper(\n",
" File \"/src/services/worker/.venv/lib/python3.9/site-packages/huggingface_hub/file_download.py\", line 392, in _request_wrapper\n response = get_session().request(method=method, url=url, **params)\n",
" File \"/src/services/worker/.venv/lib/python3.9/site-packages/requests/sessions.py\", line 589, in request\n resp = self.send(prep, **send_kwargs)\n",
" File \"/src/services/worker/.venv/lib/python3.9/site-packages/requests/sessions.py\", line 724, in send\n history = [resp for resp in gen]\n",
" File \"/src/services/worker/.venv/lib/python3.9/site-packages/requests/sessions.py\", line 724, in <listcomp>\n history = [resp for resp in gen]\n",
" File \"/src/services/worker/.venv/lib/python3.9/site-packages/requests/sessions.py\", line 265, in resolve_redirects\n resp = self.send(\n",
" File \"/src/services/worker/.venv/lib/python3.9/site-packages/requests/sessions.py\", line 703, in send\n r = adapter.send(request, **kwargs)\n",
" File \"/src/services/worker/.venv/lib/python3.9/site-packages/huggingface_hub/utils/_http.py\", line 66, in send\n return super().send(request, *args, **kwargs)\n",
" File \"/src/services/worker/.venv/lib/python3.9/site-packages/requests/adapters.py\", line 604, in send\n raise ConnectionError(err, request=request)\n",
"requests.exceptions.ConnectionError: (ProtocolError('Connection aborted.', RemoteDisconnected('Remote end closed connection without response')), '(Request ID: 2529cb6c-46ac-4c17-8e7a-44488f47d04e)')\n"
]
}
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with src/worker/job_manager.py:127 and src/worker/job_runners/config/parquet_and_info.py at lines 1191, 1577, and 1671, then trace how the ConnectionError from dataset downloads is handled. Confirm how UnexpectedException cases are represented and add coverage for this failure path; done means the reported download error is handled consistently rather than escaping as an unclassified worker failure.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- backend
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100