When an HTTP error arises, the cliff formatter cannot format the HTTP response according to the object's class, thus it prints a very-not-helpful stacktrace. It would be nice to find a way to catch it.
[DEBUG] https://localhost:9200 "GET /_cluster/allocation/explain HTTP/1.1" 429 869
[WARNING] GET https://localhost:9200/_cluster/allocation/explain [status:429 request:0.595s]
[DEBUG] > None
[DEBUG] < {
"error": {
"root_cause": [
{
"type": "circuit_breaking_exception",
"reason": "[parent] Data too large, data for [<http_request>] would be [2043081104/1.9gb], which is larger than the limit of [2031828992/1.8gb], real usage: [2043081104/1.9gb], new bytes reserved: [0/0b], usages [request=0/0b, fielddata=46926/45.8kb, in_flight_requests=0/0b, accounting=2935216/2.7mb]",
"bytes_wanted": 2043081104,
"bytes_limit": 2031828992,
"durability": "PERMANENT"
}
],
"type": "circuit_breaking_exception",
"reason": "[parent] Data too large, data for [<http_request>] would be [2043081104/1.9gb], which is larger than the limit of [2031828992/1.8gb], real usage: [2043081104/1.9gb], new bytes reserved: [0/0b], usages [request=0/0b, fielddata=46926/45.8kb, in_flight_requests=0/0b, accounting=2935216/2.7mb]",
"bytes_wanted": 2043081104,
"bytes_limit": 2031828992,
"durability": "PERMANENT"
},
"status": 429
}
[ERROR] cannot unpack non-iterable NoneType object
Traceback (most recent call last):
File "/Users/jeromepin/.asdf/installs/python/3.7.9/lib/python3.7/site-packages/cliff/app.py", line 400, in run_subcommand
result = cmd.run(parsed_args)
File "/Users/jeromepin/.asdf/installs/python/3.7.9/lib/python3.7/site-packages/cliff/display.py", line 117, in run
column_names, data = self.take_action(parsed_args)
TypeError: cannot unpack non-iterable NoneType object
[DEBUG] got an error: cannot unpack non-iterable NoneType object
When an HTTP error arises, the cliff formatter cannot format the HTTP response according to the object's class, thus it prints a very-not-helpful stacktrace. It would be nice to find a way to catch it.
Example :