Google Cloud Run Firestore: [ERR_BUFFER_OUT_OF_BOUNDS]: «длина» выходит за пределы буфера

Я использую интеграцию Google Cloud Run Firestore, которая до недавнего времени работала нормально. Я больше не могу выполнять какие-либо операции CRUD, хотя могу пройти аутентификацию.

Это происходит только в экземпляре Google Cloud Run, но не тогда, когда я подключаюсь к той же базе данных локально (с помощью учетной записи службы).

Ошибка:

2024-08-23 10:19:55.857 CEST
Caused by: Error
2024-08-23 10:19:55.857 CEST
    at Firestore.getAll (/home/node/app/node_modules/@google-cloud/firestore/build/src/index.js:1007:23)
2024-08-23 10:19:55.857 CEST
    at DocumentReference.get (/home/node/app/node_modules/@google-cloud/firestore/build/src/reference/document-reference.js:180:32)
2024-08-23 10:19:55.857 CEST
    at compareCredentials (file:///home/node/app/auth.js:55:40)
2024-08-23 10:19:55.857 CEST
    at authenticate (file:///home/node/app/auth.js:200:16)
2024-08-23 10:19:55.857 CEST
    at postAuthAdmin (file:///home/node/app/routes.js:354:37)
2024-08-23 10:19:55.857 CEST
    at process.processTicksAndRejections (node:internal/process/task_queues:105:5)
2024-08-23 10:19:55.857 CEST
    at async Server.server (file:///home/node/app/server.js:173:15) {
2024-08-23 10:19:55.857 CEST
  code: 'ERR_BUFFER_OUT_OF_BOUNDS'
2024-08-23 10:19:55.857 CEST
}

И код:

const firestore = new Firestore({ databaseId: 'projecttest' })

const credsColl = firestore.collection('creds')
const adminCredsDoc = credsColl.doc('admin')

const adminDoc = await adminCredsDoc.get() // ERR_BUFFER_OUT_OF_BOUNDS

Документ, который я пытаюсь получить (пароль поддельный):

{
    user: 'admin',
    password: '$2a$12$kHkqVa3fHz7qRBpv5BSPCOjci1H77AGHNXsReL3Huw9vITk5lqcXG'
}

Сегодня я столкнулся с точно такой же проблемой. Ничего не изменилось, но при запуске на сервере у меня начала выдаваться эта ошибка. Локально все в порядке...

Yuri Drabik 23.08.2024 10:59
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
2
1
61
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Какую версию Node вы используете? У меня была такая же проблема с последней версией 22.7.0, и я понизил ее до той, которую использовал раньше, 22.5.0. Это сработало.

Пожалуйста, проверьте также проблему, которую я подал здесь:

https://github.com/nodejs/node/issues/54518

Огромное спасибо, теперь пользуюсь 22.5.1. Это сводило меня с ума

Julian 23.08.2024 11:18

Большое спасибо, вы только что спасли мой день! Действительно, исправление версии Node в моем Dockerfile заставило его снова работать. Ваше здоровье!

Yuri Drabik 23.08.2024 11:45

Спасибо, мне не удалось использовать 22.7, попробовал 22.5, мой npm, у меня не получилось (github.com/npm/cli/issues/7657), пришлось вернуться к 22.4 - было бы здорово не нарушать мои потоки небольшими обновлениями :))

mikegross 23.08.2024 14:12

Другие вопросы по теме