googleapis / googleapis/google-cloud-java

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

Đang mở
#12,534 1 bình luận 0 reaction 0 người được giao Xem trên GitHub
lang: java priority: p3 type: feature request
Ngôn ngữ chính
Java
Star
2.1k
Fork
1.2k
Merge trung bình
1 ngày 23 giờ
Pull request đã merge (30 ngày)
154

Mô tả

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

Hướng dẫn đóng góp

Mở hướng dẫn đóng góp

Đánh giá

Issue này chưa được đánh giá.

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.