The problem is there is no symbol named requests, because we forgot the import requests statement. That is supposed to raise a NameError. This error type is currently interpreted as retriable, which silences it and causes the operation to retry.
It is difficult for users to understand what they did wrong in this situation because we capture and handle the exceptions.
I wonder if we could default to logging certain classes of errors like those reporting misuse of the Python language.
What about retries? Some of those errors indicate something seriously broken with the program, maybe we should consider them to be permanent failures?
Here is a script that motivated opening this issue:
The problem is there is no symbol named
requests
, because we forgot theimport requests
statement. That is supposed to raise aNameError
. This error type is currently interpreted as retriable, which silences it and causes the operation to retry.It is difficult for users to understand what they did wrong in this situation because we capture and handle the exceptions.