firebase / firebase/firebase-admin-java

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

Abierto
#1,001 4 comentarios 0 reacciones 1 asignado Reclamado por @Doris-Ge Ver en GitHub
api: messaging
Lenguaje dominante
Java
Estrellas
620
Forks
305
Merge medio
3 h 23 min
PR fusionados (30 d)
1

Descripción

### [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?

Guía de contribución

Abrir la guía de contribución

Evaluación

Este issue todavía no se ha evaluado.

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.