Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

deleteApp apparently doesn't complete teardown of Firestore connections

Abierto
#2,825 1 comentario 0 reacciones 1 asignado Ver en GitHub

@lahirumaramba ya está trabajando en esto.

Desde el 24/2/2025.

Evaluación

Este issue todavía no se ha evaluado.

Descripción

api: core api: firestore
Describe your environment
  • Operating System version: Fedora Linx 38
  • Firebase SDK version: 13.0.2
  • Firebase Product: admin SDK apparently / Firestore
  • Node.js version: 22.12.0
  • NPM version: 11.0.0
  • Deno version 2.1.4
Describe the problem

I'm running a simple Deno test of writing to a document in a Firestore collection. The test passes, but Deno detects leaks:

error: Leaks detected:
  - "http2Client" was created during the test, but not cleaned up during the test. Close the resource before the end of the test.
  - "http2ClientConnection" was created during the test, but not cleaned up during the test. Close the resource before the end of the test.
  - 2 intervals were started in this test, but never completed. This is often caused by not calling `clearInterval`.
  - 2 timers were started in this test, but never completed. This is often caused by not calling `clearTimeout`.
  - An async call to op_http2_poll_client_connection was started in this test, but never completed.
Steps to reproduce:
deno test --allow-all leaks-bug.ts
leaks-bug.ts
import { initializeApp, cert, deleteApp } from 'firebase-admin/app';
import { getFirestore } from 'firebase-admin/firestore';
import { assertExists } from '@std/assert';

Deno.test('test', 
  async () => {
    // Initialize Cloud Firestore per https://firebase.google.com/docs/firestore/quickstart#initialize -> Node.js -> Initialize on your own server
    const app = initializeApp({ credential: cert('service-account-key.json') });
    const db = getFirestore(app);

    const doc = await db.collection('test').doc('test').set({ foo: 42 });
    assertExists(doc);  // passes
    await deleteApp(app);  // doesn't help
    await new Promise(resolve => setTimeout(resolve, 10 * 1000));  // doesn't help
  }
);
Lenguaje dominante
TypeScript
Estrellas
1.7k
Forks
419
Merge medio
4 d 20 h
PR fusionados (30 d)
16

Guía de contribución

Abrir la guía de contribución

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de firebase/firebase-admin-node

Todos los issues de firebase/firebase-admin-node

Issues similares

Más issues de TypeScript

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.