Broken pipe error with upload-source
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 141
- Forks
- 27
- PR merge metrics
- No merged PRs in 30d
Description
Similar to #77 , I get the broken pipe error with the following command:
`tilesets upload-source populated_places.geojson.ld` with the environment variable and the --token flag. The json is from the example on the website, and I tried another geojson file that passes the validation test. Also, tried with `--no-validation` flag with the same result.
The error is below:
```
Traceback (most recent call last):
File "/home/chintan/anaconda3/lib/python3.8/site-packages/urllib3/connectionpool.py", line 670, in urlopen
httplib_response = self._make_request(
File "/home/chintan/anaconda3/lib/python3.8/site-packages/urllib3/connectionpool.py", line 392, in _make_request
conn.request(method, url, **httplib_request_kw)
File "/home/chintan/anaconda3/lib/python3.8/http/client.py", line 1240, in request
self._send_request(method, url, body, headers, encode_chunked)
File "/home/chintan/anaconda3/lib/python3.8/http/client.py", line 1286, in _send_request
self.endheaders(body, encode_chunked=encode_chunked)
File "/home/chintan/anaconda3/lib/python3.8/http/client.py", line 1235, in endheaders
self._send_output(message_body, encode_chunked=encode_chunked)
File "/home/chintan/anaconda3/lib/python3.8/http/client.py", line 1045, in _send_output
self.send(chunk)
File "/home/chintan/anaconda3/lib/python3.8/http/client.py", line 967, in send
self.sock.sendall(data)
File "/home/chintan/anaconda3/lib/python3.8/ssl.py", line 1204, in sendall
v = self.send(byte_view[count:])
File "/home/chintan/anaconda3/lib/python3.8/ssl.py", line 1173, in send
return self._sslobj.write(data)
BrokenPipeError: [Errno 32] Broken pipe
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/home/chintan/anaconda3/lib/python3.8/site-packages/requests/adapters.py", line 439, in send
resp = conn.urlopen(
File "/home/chintan/anaconda3/lib/python3.8/site-packages/urllib3/connectionpool.py", line 724, in urlopen
retries = retries.increment(
File "/home/chintan/anaconda3/lib/python3.8/site-packages/urllib3/util/retry.py", line 403, in increment
raise six.reraise(type(error), error, _stacktrace)
File "/home/chintan/anaconda3/lib/python3.8/site-packages/urllib3/packages/six.py", line 734, in reraise
raise value.with_traceback(tb)
File "/home/chintan/anaconda3/lib/python3.8/site-packages/urllib3/connectionpool.py", line 670, in urlopen
httplib_response = self._make_request(
File "/home/chintan/anaconda3/lib/python3.8/site-packages/urllib3/connectionpool.py", line 392, in _make_request
conn.request(method, url, **httplib_request_kw)
File "/home/chintan/anaconda3/lib/python3.8/http/client.py", line 1240, in request
self._send_request(method, url, body, headers, encode_chunked)
File "/home/chintan/anaconda3/lib/python3.8/http/client.py", line 1286, in _send_request
self.endheaders(body, encode_chunked=encode_chunked)
File "/home/chintan/anaconda3/lib/python3.8/http/client.py", line 1235, in endheaders
self._send_output(message_body, encode_chunked=encode_chunked)
File "/home/chintan/anaconda3/lib/python3.8/http/client.py", line 1045, in _send_output
self.send(chunk)
File "/home/chintan/anaconda3/lib/python3.8/http/client.py", line 967, in send
self.sock.sendall(data)
File "/home/chintan/anaconda3/lib/python3.8/ssl.py", line 1204, in sendall
v = self.send(byte_view[count:])
File "/home/chintan/anaconda3/lib/python3.8/ssl.py", line 1173, in send
return self._sslobj.write(data)
urllib3.exceptions.ProtocolError: ('Connection aborted.', BrokenPipeError(32, 'Broken pipe'))
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/home/chintan/anaconda3/bin/tilesets", line 8, in
sys.exit(cli())
File "/home/chintan/anaconda3/lib/python3.8/site-packages/click/core.py", line 829, in __call__
return self.main(*args, **kwargs)
File "/home/chintan/anaconda3/lib/python3.8/site-packages/click/core.py", line 782, in main
rv = self.invoke(ctx)
File "/home/chintan/anaconda3/lib/python3.8/site-packages/click/core.py", line 1259, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
File "/home/chintan/anaconda3/lib/python3.8/site-packages/click/core.py", line 1066, in invoke
return ctx.invoke(self.callback, **ctx.params)
File "/home/chintan/anaconda3/lib/python3.8/site-packages/click/core.py", line 610, in invoke
return callback(*args, **kwargs)
File "/home/chintan/anaconda3/lib/python3.8/site-packages/click/decorators.py", line 21, in new_func
return f(get_current_context(), *args, **kwargs)
File "/home/chintan/anaconda3/lib/python3.8/site-packages/mapbox_tilesets/scripts/cli.py", line 516, in upload_source
return _upload_source(
File "/home/chintan/anaconda3/lib/python3.8/site-packages/mapbox_tilesets/scripts/cli.py", line 592, in _upload_source
resp = getattr(s, method)(
File "/home/chintan/anaconda3/lib/python3.8/site-packages/requests/sessions.py", line 578, in post
return self.request('POST', url, data=data, json=json, **kwargs)
File "/home/chintan/anaconda3/lib/python3.8/site-packages/requests/sessions.py", line 530, in request
resp = self.send(prep, **send_kwargs)
File "/home/chintan/anaconda3/lib/python3.8/site-packages/requests/sessions.py", line 643, in send
r = adapter.send(request, **kwargs)
File "/home/chintan/anaconda3/lib/python3.8/site-packages/requests/adapters.py", line 498, in send
raise ConnectionError(err, request=request)
requests.exceptions.ConnectionError: ('Connection aborted.', BrokenPipeError(32, 'Broken pipe'))
```
My OS info:
**lsb_release -a**
```
Distributor ID: Ubuntu
Description: Ubuntu 20.04.1 LTS
Release: 20.04
Codename: focal
```
Mapbox-tilesets info:
**pip show mapbox-tilesets**
```
Name: mapbox-tilesets
Version: 1.4.2
Summary: CLI for interacting with and preparing data for the Tilesets API
Home-page: https://github.com/mapbox/tilesets-cli
Author: Mapbox
Author-email: sam@mapbox.com
License: BSD-2
Location: /home/chintan/anaconda3/lib/python3.8/site-packages
Requires: jsonseq, requests-toolbelt, boto3, requests, jsonschema, click, cligj
Required-by:
```
Any help in this regard is appreciated?
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 mapbox_tilesets/scripts/cli.py, specifically the upload_source and _upload_source entry points shown in the traceback. Reproduce the reported tilesets upload-source command with the provided GeoJSON and flags, then trace the request handling; done means the upload completes without the BrokenPipeError or reports a clear actionable failure.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- cli
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 30/100