firebase / firebase-admin-node

Firebase Admin Node.js SDK
https://firebase.google.com/docs/admin/setup
Apache License 2.0
1.63k stars 370 forks source link

Realtime Database - indefinite hold after calling get() #2638

Open tgpsantos opened 2 months ago

tgpsantos commented 2 months ago

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

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

admin.initializeApp();
_test();
async function _test() {
  console.log('end');
}

the program stops as intended

DellaBitta commented 2 months ago

Hi @tgpsantos,

This GitHub repo is for the Firebase Web Client SDK. The Admin SDK is hosted at https://github.com/firebase/firebase-admin-node.

I'll work to move this issue into that repository. Thanks!