googleapis / googleapis/google-cloud-java

[sdk-platform-java] fix: Modify existing mechanism of logging errors in gax-batching to avoid looped calls

Abierto
#12,534 1 comentario 0 reacciones 0 asignados Ver en GitHub
lang: java priority: p3 type: feature request
Lenguaje dominante
Java
Estrellas
2.1k
Forks
1.2k
Merge medio
1 d 23 h
PR fusionados (30 d)
154

Descripción

Existing error reporting mechanism in gax-batching uses JUL (`java.util.logger`) to log the errors. This mechanism can lead to the looped calls between the Java client logging library and gax in a case users configure the `com.google.cloud.logging.LoggingHandler` to serve as one of the JUL handlers. In such a case a call to write a log via JUL will land into gax-batching code (via java-logging). If an error arise, the gax-batching will call JUL to write an error log which, in turn, will return the flow back to the same gax-batching code.
To avoid such situation before the first call the current JUL handlers should be enumerated to ensure they do not include `com.google.cloud.logging.LoggingHandler`. If the latter occurs in the list, the error message should be logged to STDERR.

More info about batching modification can be found in the [internal document](http://go/cdpe-ops-log-writing-batching-in-java).

Guía de contribución

Abrir la guía de contribución

Evaluación

Este issue todavía no se ha evaluado.

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.