У меня есть небольшая служба обнаружения служб, работающая на бесплатном уровне Google App Engine.Он запрашивает Google Cloud Datastore с простейшими запросами к данным, которые практически статичны.Недавно у нас были случаи, когда служба возвращала пустые результаты.Это продолжалось в течение 12 часов.После этого результаты пришли в норму.Мы только недавно это заметили.В журналах я вижу как минимум 3 подобных инцидента.
Я вошел в консоль и увидел:
- 0 ошибок приложения
- 0 ошибок сервера
- все зеленое состояние GCE
- макс. Используемая квота составляет всего 5%
- интервалы времени, когда каждый ответ составляет 204
Я не вижу абсолютно никакой причины для полученияпустой ответ, и все же они иногда пусты.Я не вижу способа уведомить Google о проблемах на стороне облака, поскольку это бесплатная учетная запись уровня без поддержки.
Итак, я что-то пропустил?
UPD:Когда я изучаю код, единственный способ получить 204 + пустое тело - это получить исключение при получении экземпляра javax.jdo.PersistenceManager
или нового экземпляра javax.jdo.Query
.Таким образом, менее вероятно, что Cloud Datastore виноват, потому что если результат будет пустым, приложение должно ответить 200 + []
, если во время запроса произошла ошибка, приложение должно ответить 204 + <h1>Exception</h1>...
.
Но, опять же, я не вижу, как запрос может работать, но не работает 5 минут назад.
UPD2: приложение было стабильным более двух лет.