firebase / firebase/firebase-admin-node

Realtime Database - indefinite hold after calling get()

オープン
#2,638 コメント 1 件 リアクション 0 件 担当者 0 名 GitHub で見る
api: database
主要言語
TypeScript
スター
1.7k
フォーク
419
平均マージ
3日 10時間
マージ済み PR(30日)
16

説明

### Operating System

Node JS 16

### Browser Version

Admin SDK

### Firebase SDK Version

11.7.0 (and also 12.2.0)

### Firebase SDK Product:

Database

### Describe your project's tooling

Admin Node JS SDK

### Describe the problem

Hi guys,

I built a simple script in Typescript that reads from the Database and prints the result. Whenever I do that, the newly created process does not close.

I'm not sure if this is an intended behaviour

I also added the `admin.database().goOffline();` as mentioned in https://github.com/firebase/firebase-js-sdk/issues/6932#issuecomment-1385331994 but didn't work.

### Steps and code to reproduce issue

Run the following js code

```javascript
admin.initializeApp();
_test();
async function _test() {
const ref = await admin
.database()
.ref('YOUR_REFERENCE')
.get();
const start_data = ref.val();
console.log(start_data);
admin.database().goOffline();
console.log('end');
}
```

You'll see that even though the console prints 'end', the program doesn't actually stop.

If you simply run
```javascript
admin.initializeApp();
_test();
async function _test() {
console.log('end');
}
```

the program stops as intended

コントリビューションガイド

コントリビューションガイドを開く

調査の方向性

提供された Admin Node.js スクリプトを admin.initializeApp()、database().ref().get()、および goOffline() を使用して再現し、その後 Admin SDK が使用する Realtime Database のパスを調査します。読み取りと最終ログの後に、追加の回避策を必要とせずプロセスが終了すれば完了です。payload にはリポジトリのファイル名やテスト名を記載しません。

索引モデルが issue の本文から書いたものです。

評価

技術スタック
node.js, typescript
領域
databases
issue の種類
バグ
難易度
4/5
見積もり時間
3〜5日
活発さ
停滞
明瞭さ
説明が足りない
初心者へのやさしさ
35/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。