Обычно это указание на то, что операции записи в объекты не выполняются в транзакциях. Транзакции могут обнаруживать такие параллельные операции записи (и чтения!) И повторять их, гарантируя, что данные остаются непротиворечивыми.
Вам также необходимо знать, что запросы (если они не являются запросами предков) в конечном итоге непротиворечивыэто означает, что их результаты немного «отстают» от фактической информации о хранилище данных (с момента обновления информации о хранилище данных требуется некоторое время, пока соответствующие индексы, используемые запросами, не будут обновлены соответствующим образом). Поэтому при обработке сущностей из результатов запроса вы также должны транзакционно проверять их содержимое. Лично я предпочитаю делать keys_only запросов , а затем получать сущности с помощью поиска ключей, которые всегда согласованы (конечно, также в транзакциях, если я собираюсь обновить сущности и, при необходимости, при чтении).
Например, если вы запрашиваете сущности, которые не имеют уникального идентификатора, вы можете получить сущности, которые на самом деле недавно были обработаны и имеют идентификатор. Поэтому вам следует (транзакционно) проверить, действительно ли у сущности есть идентификатор, и пропустить его обновление.
Также убедитесь, что вы не обновляете сущности, полученные из проекционных запросов - результаты, полученные из таких запросовможет не представлять целые объекты, их обратная запись уничтожит свойства, не включенные в проекцию.