Skip to content
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

Improves StorageWrite API error logging #25073

Merged

Conversation

prodriguezdefino
Copy link
Contributor

@prodriguezdefino prodriguezdefino commented Jan 19, 2023

In case the error returned is a StatusRuntimeException it includes the inner description, this description usually include valuable information like quota related messages.

Example:

Append to stream projects/xxx/datasets/yyy/tables/zzz/streams/_default by client #7 failed with error, operations will be retried.
io.grpc.StatusRuntimeException: RESOURCE_EXHAUSTED: Exceeds 'AppendRows throughput' quota, user_id: project000000TTTTT_us (status: INSUFFICIENT_TOKENS), you can issue a raise quota request through Google Cloud Console. Be sure to include this full error message in the request description.  Entity: projects/pabs-pso-lab/datasets/pinstall/tables/streaming_pinstall_sub/streams/_default
Details:

com.google.cloud.bigquery.storage.v1.ConnectionWorker.requestCallback(ConnectionWorker.java:676)
com.google.cloud.bigquery.storage.v1.ConnectionWorker.access$100(ConnectionWorker.java:62)
com.google.cloud.bigquery.storage.v1.ConnectionWorker$2.run(ConnectionWorker.java:251)
com.google.cloud.bigquery.storage.v1.StreamConnection$1.onResponse(StreamConnection.java:63)
com.google.cloud.bigquery.storage.v1.StreamConnection$1.onResponse(StreamConnection.java:54)
com.google.api.gax.tracing.TracedResponseObserver.onResponse(TracedResponseObserver.java:91)
com.google.api.gax.grpc.ExceptionResponseObserver.onResponseImpl(ExceptionResponseObserver.java:74)
com.google.api.gax.rpc.StateCheckingResponseObserver.onResponse(StateCheckingResponseObserver.java:60)
com.google.api.gax.grpc.GrpcDirectStreamController$ResponseObserverAdapter.onMessage(GrpcDirectStreamController.java:134)
io.grpc.ForwardingClientCallListener.onMessage(ForwardingClientCallListener.java:33)
io.grpc.ForwardingClientCallListener.onMessage(ForwardingClientCallListener.java:33)
io.grpc.ForwardingClientCallListener.onMessage(ForwardingClientCallListener.java:33)
io.grpc.internal.ClientCallImpl$ClientStreamListenerImpl$1MessagesAvailable.runInternal(ClientCallImpl.java:662)
io.grpc.internal.ClientCallImpl$ClientStreamListenerImpl$1MessagesAvailable.runInContext(ClientCallImpl.java:647)
io.grpc.internal.ContextRunnable.run(ContextRunnable.java:37)
io.grpc.internal.SerializingExecutor.run(SerializingExecutor.java:133)
java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
java.base/java.lang.Thread.run(Thread.java:834)```

@prodriguezdefino
Copy link
Contributor Author

R: @reuvenlax

@github-actions
Copy link
Contributor

Stopping reviewer notifications for this pull request: review requested by someone other than the bot, ceding control

@reuvenlax reuvenlax merged commit 876ce5b into apache:master Jan 19, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants