firebase / firebase/firebase-admin-java

Choosing Whether to Enable Retries in Firebase App Options

未关闭
#1,075 2 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看
needs-triage
主要语言
Java
星标
620
派生
305
平均合并
3 小时 23 分钟
30 天内合并 PR
1

描述

Hello,
I have learned that FCM automatically retries when a 503 response is received.
However, our service already handles retries for undelivered messages through scheduling, so we do not want to use the default retry strategy.
```
public static HttpRequestFactory newAuthorizedRequestFactory(
FirebaseApp app, @Nullable RetryConfig retryConfig) {
HttpTransport transport = app.getOptions().getHttpTransport();
return transport.createRequestFactory(new FirebaseRequestInitializer(app, retryConfig));
}
```
To disable this behavior, I attempted to use a method provided in the ApiClientUtils class.
However, after debugging the initialization process, I found that it is not possible to set a custom RetryConfig value.

I assume there is a valid reason for restricting the redefinition of RetryConfig.
For example, it may be to prevent retries for responses other than 5xx errors or to avoid excessive retry requests within a short period.

What I would like is the ability to **enable or disable the retry feature as needed.**
I will proceed with creating a PR for this.

贡献指南

打开贡献指南

调研方向

Start by tracing ApiClientUtils and the shown newAuthorizedRequestFactory method through FirebaseApp initialization, focusing on where RetryConfig is fixed or restricted. Determine the supported way to enable or disable retries without changing unrelated retry behavior, and verify that both configured modes work for FCM requests.

由索引模型根据 Issue 内容生成。

评估

技术栈
firebase, java
领域
api, backend
Issue 类型
功能
难度
4/5
预计耗时
3-5 天
活跃度
停滞
描述清晰度
基本清楚
新手友好度
35/100

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。