-
Notifications
You must be signed in to change notification settings - Fork 149
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
Critical grpc failure when doing large operation #1805
Comments
Hi @samborambo305 , Thanks for reporting. There are a few things to consider:
See: https://firebase.google.com/docs/firestore/manage-data/transactions#batched-writes
|
due to the fact that firestore doesn’t support infinitely sized atomic updates, i use the class in the attached file. essentially I am only using batch updates. this should address all the concerns for hot-spotting, throttling, etc. the way i am using the class in my code that experiences the issue is like this const batchUpdates = {};
LARGE_LIST.forEach((item) => {
// preprocessing
…
BatchUpdates.set(`InventoryItems/${item.id}`, item);
})
await BatchUpdates.commit(); I also ensured i am on the latest |
I will be forced to move away from Firestore because of this issue. |
Closing this issue as it's a duplicate of #1023 and raising the issue internally again. |
Environment details
node
docker imagenode
docker image8.19.1
@google-cloud/firestore
version:6.4.1
Steps to reproduce
Seems to be related to this: grpc/grpc-node#1769
On my production server, I am running high throughput code and my kubernetes pod seems to randomly die out of nowhere. There is no indication or error that anything occurred. While trying to run that same code locally, I get the error shown below. I tried to see if any high throughput operation would reproduce the error and I found that the sample code below did.
However, this code produced an error that I was able to catch. On production, the error seems to be silent, and doesn't get caught in try/catch blocks.
The text was updated successfully, but these errors were encountered: