googleapis / googleapis/google-cloud-java

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

Aperta
#12,534 1 commento 0 reazioni 0 assegnatari Vedi su GitHub
lang: java priority: p3 type: feature request
Lingua principale
Java
Stelle
2.1k
Fork
1.2k
Merge medio
1g 23h
PR unite (30g)
154

Descrizione

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).

Guida per i contributori

Apri la guida per i contributori

Valutazione

Questa issue non è ancora stata valutata.

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.