Я работаю над приложением Google App Engine на python. Я попытался переключить запрос, который я выполнял, для одного из моих маршрутов, чтобы запрашивать только одно свойство вместо 2, что приводило к появлению ошибки индексации всякий раз, когда мы пытались выполнить этот запрос.
Это было что-то вроде «Не удалось найти индекс, соответствующий указанным параметрам», но на данный момент у меня нет скриншотов. Чтобы попытаться исправить ситуацию, мы запустили appcfg.py Vacuum_indices и удалили все индексы, связанные с первоначальным поиском. Затем мы загрузили новый index.yaml, указав новый индекс. Хотя мы смогли увидеть, что новые индексы действительно были созданы в панели администратора, а старые исчезли, мы все равно получали ту же ошибку.
Мы действительно не уверены, почему это происходит, и не можем найти документацию по этим проблемам в Интернете. Наша следующая мысль заключалась в том, что какое-то предыдущее состояние в кэше памяти вызывало попытку запроса использовать его старый индекс. Итак, мы сбросили кэш памяти, и теперь мы получаем эту ошибку:
File "/base/data/home/runtimes/python27/python27_lib/versions/third_party/webapp2-2.5.2/webapp2.py", line 1535, in __call__
rv = self.handle_exception(request, response, e)
File "/base/data/home/runtimes/python27/python27_lib/versions/third_party/webapp2-2.5.2/webapp2.py", line 1529, in __call__
rv = self.router.dispatch(request, response)
File "/base/data/home/runtimes/python27/python27_lib/versions/third_party/webapp2-2.5.2/webapp2.py", line 1278, in default_dispatcher
return route.handler_adapter(request, response)
File "/base/data/home/runtimes/python27/python27_lib/versions/third_party/webapp2-2.5.2/webapp2.py", line 1102, in __call__
return handler.dispatch()
File "/base/data/home/runtimes/python27/python27_lib/versions/third_party/webapp2-2.5.2/webapp2.py", line 572, in dispatch
return self.handle_exception(e, self.app.debug)
File "/base/data/home/runtimes/python27/python27_lib/versions/third_party/webapp2-2.5.2/webapp2.py", line 570, in dispatch
return method(*args, **kwargs)
File "/base/data/home/apps/s~dev-erpetcloud2/dev1.392600188150722624/routes/users.py", line 172, in post
res_dict = cp_user.to_dict()
File "/base/data/home/apps/s~dev-erpetcloud2/dev1.392600188150722624/routes/models/../models/cp_models.py", line 248, in to_dict
animal_dict = animal.to_dict()
File "/base/data/home/apps/s~dev-erpetcloud2/dev1.392600188150722624/routes/models/../models/cp_models.py", line 574, in to_dict
protocol, params = self.get_protocol_and_params()
File "/base/data/home/apps/s~dev-erpetcloud2/dev1.392600188150722624/routes/models/../models/cp_models.py", line 395, in get_protocol_and_params
record = self.protocol_state_key.get()
File "/base/data/home/runtimes/python27/python27_lib/versions/1/google/appengine/ext/ndb/key.py", line 572, in get
return self.get_async(**ctx_options).get_result()
File "/base/data/home/runtimes/python27/python27_lib/versions/1/google/appengine/ext/ndb/tasklets.py", line 342, in get_result
self.check_success()
File "/base/data/home/runtimes/python27/python27_lib/versions/1/google/appengine/ext/ndb/tasklets.py", line 389, in _help_tasklet_along
value = gen.send(val)
File "/base/data/home/runtimes/python27/python27_lib/versions/1/google/appengine/ext/ndb/context.py", line 765, in get
pbs = entity._to_pb(set_key=False).SerializePartialToString()
File "/base/data/home/runtimes/python27/python27_lib/versions/1/google/appengine/ext/ndb/model.py", line 3158, in _to_pb
self._check_initialized()
File "/base/data/home/runtimes/python27/python27_lib/versions/1/google/appengine/ext/ndb/model.py", line 3014, in _check_initialized
'Entity has uninitialized properties: %s' % ', '.join(baddies))
BadValueError: Entity has uninitialized properties: title
Просматривая хранилище данных, сущность, на которую ссылается эта трассировка, определенно имеет свойство title.
Я много искал ошибки, которые могут возникнуть из-за удаления индексов и сброса кэша памяти, и ничего полезного не нашел.
Если бы кто-то мог дать мне немного информации о том, что здесь может происходить и как работают эти системы (моя ментальная модель может быть ошибочной), или указать мне правильное направление, это было бы фантастически. Спасибо!!