Skip to content

Known errors in Google API Client Library #19

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
JoshuaFox opened this issue Mar 12, 2023 · 2 comments
Closed

Known errors in Google API Client Library #19

JoshuaFox opened this issue Mar 12, 2023 · 2 comments

Comments

@JoshuaFox
Copy link
Collaborator

JoshuaFox commented Mar 12, 2023

We see lots of errors on the SSL layer. These are not security errors but connection failures. See "broken pipe"[1] and “socket.timeout”[2] on the google-api-python-client (Google API Client for Python) issue tracker. This results from the implementation of httplib2.

Issue [3] tracks the discussion about a fix, but Google does not plan any fix to the (Google API Client for Python) , as it would require a significant rewrite.

Instead, Google recommends using the Cloud Client Libraries. Unfortunately, these lack batch capability [4] and are radically slower.

[1] googleapis/google-api-python-client#218
[2] https://github.com/googleapis/google-api-python-client/search?q=socket+timeout&type=issues
[3] googleapis/google-api-python-client#1118
[4] https://stackoverflow.com/questions/75712871/

@JoshuaFox
Copy link
Collaborator Author

JoshuaFox commented Mar 12, 2023

Errors that reflect this same root cause

[SSL: UNEXPECTED_RECORD] unexpected record
[SSL: WRONG_VERSION_NUMBER] wrong version number (_ssl.c:2635)
SSLError: [SSL: BAD_RECORD_TYPE] bad record type
SSLError: [SSL: BLOCK_CIPHER_PAD_IS_WRONG] block cipher pad is wrong
ssl.SSLError: [SSL: DECRYPTION_FAILED_OR_BAD_RECORD_MAC] decryption failed or bad record mac

BlockingIOError: [Errno 114] Operation already in progress
socket.timeout: The read operation timed out
[Errno 0] Error
_get_chunk_left ...  ValueError: invalid literal for int() with base 16: b''
_get_chunk_left  ... http.client.IncompleteRead: IncompleteRead(0 bytes read)
_readall_chunked ...  IncompleteRead(<INTEGER>  bytes read,<INTEGER>   more expected)
BrokenPipeError: [Errno 32] Broken pipe
JSONDecodeError: Expecting value: line 2 column 1 (char 2)(indicating empty record)

Search Log Explorer with SSLError OR BlockingIoError OR "socket.timeout" OR _get_chunk_left OR BrokenPipeError OR JSONDecodeError OR _readall_chunked OR "[Errno 0] Error"

@JoshuaFox
Copy link
Collaborator Author

We now use google.cloud import compute_v1 for disks and instances, instead of the older googleapiclient which is still used elsewhere because of the functinal limitations of the new Cloud Client (see above)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant