fix: Modify existing mechanism of logging errors in gax-batching to avoid looped calls #1317
Labels
gax
lang: java
Issues specific to Java.
priority: p3
Desirable enhancement or fix. May not be included in next release.
type: feature request
‘Nice-to-have’ improvement, new feature or different behavior or design.
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 thecom.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.
The text was updated successfully, but these errors were encountered: