Hacktoberfest 2026:维护者为十月标记出来的 issue,仍然开放、适合新手。 浏览 Hacktoberfest issue

deleteApp apparently doesn't complete teardown of Firestore connections

未关闭
#2,825 1 条评论 0 个 reaction 已指派 1 人 在 GitHub 查看

@lahirumaramba 已经在做这个了。

开始于 2025年2月24日。

评估

这个 Issue 还没有评估数据。

描述

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
  }
);
主要语言
TypeScript
星标
1.7k
派生
419
平均合并
4 天 20 小时
30 天内合并 PR
16

贡献指南

打开贡献指南

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

firebase/firebase-admin-node 的其他 Issue

查看 firebase/firebase-admin-node 的全部 Issue

相似的 Issue

更多 TypeScript Issue

把新 issue 发到你的邮箱

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