firebase / firebase/firebase-admin-java

9.0.0 to 9.3.0 sendMulticastAsync vs sendEachForMulticastAsync. Server crashes when sending too many pushes

未關閉
#1,001 4 則留言 0 個 reaction 已指派 1 人 已被 @Doris-Ge 認領 在 GitHub 檢視
api: messaging
主要語言
Java
星號
620
分支
305
平均合併
3 小時 23 分鐘
30 天內合併 PR
1

描述

### [REQUIRED] Step 2: Describe your environment

* Operating System version: debian / grails / groovy / java 11
* Firebase SDK version: 9.3.0
* Library version: _____
* Firebase Product: admin

### [REQUIRED] Step 3: Describe the problem
We switched out the firebase admin version from 9.0.0 to 9.3.0 yesterday. Sending out a few pushes works fine, but we sometimes send out a few millions in a "batch". There never were issues with the old sendMulticastAsync

ApiFuture apiFuture = FirebaseMessaging.getInstance().sendEachForMulticastAsync(multicastMessage)

apiFuture.addListener({
def batchResponse = apiFuture.get()
if (batchResponse != null && batchResponse.failureCount > 0) {
for (int i = 0; i < batchResponse.responses.size(); i++) {
def response = batchResponse.responses.get(i)
if (response != null && !response.successful && response.exception != null && (
(ErrorCode.NOT_FOUND == response.exception.errorCode && MessagingErrorCode.UNREGISTERED == response.exception.messagingErrorCode) ||
(ErrorCode.INVALID_ARGUMENT == response.exception.errorCode && MessagingErrorCode.INVALID_ARGUMENT == response.exception.messagingErrorCode))) {
UidRemovalJob.removalCandidates.add(new UidRemovalCandidate(phoneId: tokenList[i], os: 2))
}
}
}
}, executorServiceAndroidResponses)

Does this need to be switched to another implementation?

貢獻指南

開啟貢獻指南

評估

這個 Issue 還沒有評估資料。

把新 issue 寄到你的電子郵件信箱

精選適合新手參與的 GitHub issue 摘要。