объекты не сохраняются в соответствии с хранилищем данных Google - PullRequest
1 голос
/ 16 августа 2011

У меня есть очень простой фрагмент кода, в котором я добавляю некоторые сущности в хранилище данных.

    public final class storageUtil {

    private static DatastoreService datastore = DatastoreServiceFactory.getDatastoreService();  

    public static Iterable<Entity> getAllEntities(String kind) {
        Query q = new Query(kind);
        PreparedQuery pq = datastore.prepare(q);
        return pq.asIterable();
    }

    public static void putEntity(Entity entity) {
        datastore.put(entity);
    }


}

Если я вызову putEntity (myEntity) и затем getAllEntities (myKind), только что поставленная сущность, будет толькопоявляются в возвращенном списке 2 из 3 раз.

Если я вызову datastore.get (myKey) сразу после пута, он всегда вернет вновь поставленную запись.

Может ли кто-нибудь датьмне подсказка о том, что происходит?

Ответы [ 2 ]

0 голосов
/ 12 сентября 2011

Поместите свои сущности в хранилище данных, используя транзакции, здесь вы найдете пример.

0 голосов
/ 16 августа 2011

Какой тип хранилища данных вы используете? это хранилище данных с высокой репликацией (по умолчанию)? вы тестируете на реальном сервере (не на dev?) если это так, то такое поведение несколько ожидается из-за «в конечном итоге непротиворечивого» поведения.

Использование хранилища данных с высокой репликацией

- это то место, где вы должны начать искать пути для этого

...