Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

getting Possible EventEmitter memory leak detected in firebase-functions framework #616

Open
jdziek opened this issue Jun 26, 2024 · 0 comments

Comments

@jdziek
Copy link

jdziek commented Jun 26, 2024

Hi.
Originall i posted this issue on
googleapis/nodejs-firestore#2072
and after running various tests they referred me to this repo.

I started getting a memory leak warning a few days ago for no apparent reason. I did update packages a few weeks ago but didn't see anything till recently. I updated the packages to the most recent ones again and still got that message.
This warning pops up whenever a function is initiated.

image

  1. Is this a client library issue or a product issue?
    I believe this is a google-cloud package issue. I get this error, particularly in functions that must process files to storage.

  2. Did someone already solve this?
    I've seen it has been an issue in the past but nothing has been raised since then on a current release

Environment details

It happens on gen 2 firebase functions using [email protected] using nodejs 20
OtherGCPp packages that I'm using are
"@google-cloud/documentai": "^8.8.0",
"@google-cloud/firestore": "^7.8.0",
"@google-cloud/pubsub": "^4.5.0",
"@google-cloud/storage": "^7.11.2",
"firebase-admin": "^12.1.1",
"firebase-functions": "^5.0.1",

Here is a snippet of my code. The issue happens in every function that references google-cloud packages, so its not an isolated issue to this particular code, but I thought that it cant hurt including it.


import firestore from "@google-cloud/firestore";
import { InternalServerError } from "@moveready/request-errors/lib/index.js";
import envConfig from "../shared_utilities/envConfig.js";

const client = new firestore.v1.FirestoreAdminClient();

export default {
  async createDbBackup() {
    try {
      const databaseName = client.databasePath(
        envConfig.gcp.projectId,
        "(default)",
      );

      return client
        .exportDocuments({
          name: databaseName,
          outputUriPrefix: `gs://${envConfig.gcp.dbBackupBucket}`,
          collectionIds: [],
        })
        .then(([response]) => {
          logger.info(`Backup creation was successful: ${response.name}`);
          return response;
        })
        .catch((err) => {
          logger.error(err);
          throw new InternalServerError();
        });
    } catch (err) {
      logger.error(err);
      throw err;
    }
  },
};

Other versions of packages I tested

    "@google-cloud/firestore": "^7.7.0",
    "@google-cloud/pubsub": "^4.4.0",
    "@google-cloud/storage": "^7.10.0",
    "firebase-admin": "^11.1.0",
    "firebase-functions": "^4.8.1",
    "firebase-tools":" 13.8.1"

and

  "firebase-tools": "^13.0.2"
  "@google-cloud/documentai": "^7.3.1",
  "@google-cloud/firestore": "^6.4.1",
  "@google-cloud/pubsub": "^3.4.1",
  "@google-cloud/storage": "^6.7.0",
  "firebase-admin": "^11.3.0",
  "firebase-functions": "^4.5.0",

Any help would be greatly appreciated.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant