Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

No connection established Error in firebase firestore & grpc

It is a function to add new data if it does not exist by referring to existing data and update data if it exists. It works well, but after an hour gRpc error occurs. Details below:

Error: No connection established at Http2CallStream.<anonymous> (D:\zyleTcpServer\node_modules\@grpc\grpc-js\build\src\call.js:68:41) at Http2CallStream.emit (events.js:215:7) at D:\zyleTcpServer\node_modules\@grpc\grpc-js\build\src\call-stream.js:75:22 at processTicksAndRejections (internal/process/task_queues.js:75:11) --------------------------------------------- at BunWrapper.Readable.on (D:\zyleTcpServer\node_modules\bun\node_modules\readable-stream\lib\_stream_readable.js:729:33) at D:\zyleTcpServer\node_modules\@google-cloud\firestore\build\src\index.js:920:26 at new Promise (<anonymous>) at Firestore._initializeStream (D:\zyleTcpServer\node_modules\@google-cloud\firestore\build\src\index.js:881:16) at D:\zyleTcpServer\node_modules\@google-cloud\firestore\build\src\index.js:1017:28 { code: 14, details: 'No connection established', metadata: Metadata { internalRepr: Map {}, options: {} } }
And here is my code

<code>
    const docName = `${vin}-${dtc}`; //make doc
    const ebsRef = db.collection('events').doc(docName);
    await db.runTransaction((t) => t.get(ebsRef)
      .then(async (doc) => {
        if (!doc.exists) {
          return t.set({
           startDatetime: firebase.firestore.FieldValue.serverTimestamp(),
           endDatetime: firebase.firestore.FieldValue.serverTimestamp(),
           description: dtcData.description,
           dtcCode: dtc,
           eventType: brokenType,
           scannerCode: dtcData.scanner,
           vin,
          });
       }
       return t.update(ebsRef, {
         status: (rawDtc.status === '08' ? 2 : 1),
         endDatetime: firebase.firestore.FieldValue.serverTimestamp(),
      });
    </code>
    <br>

Is there a problem with my source code? How can i fix it..?

like image 478
cho sh Avatar asked Oct 24 '25 02:10

cho sh


1 Answers

Other people reported to be having the same issue in the past week, as mentioned on Firebase Functions Github. This occurs to every kind of function that involves firestore and it's related to firestore changing grpc to grpc-js. As mentioned in the conversation thread, there are some workarounds that you can try:

Workaround

1 - Updating from "firebase-functions": "^3.2.0" to "firebase-functions": "^3.3.0"

OR

2 - Deleting your /src/functions/node_modules and /src/functions/package-lock.json, updating your dependencies, and pushing your changes that include your new dependencies in your /src/functions/package.json to your firebase app.


At the end, your dependency should read:

@grpc/grpc-js": "0.6.9"

This conversation thread grpc/grpc-node#1027 also explain ways to update your deps and can also be of great help.

like image 50
sllopis Avatar answered Oct 27 '25 05:10

sllopis



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!