我正在我的机器上试验'datastore'。使用此代码。
Key parentKey = KeyFactory.createKey("parent", "parentId");
try {
// Entity parent = new Entity("parent", "parentId");
// parent.setUnindexedProperty("property1", "value1");
// ds.put(parent);
Entity savedParent = ds.get(parentKey);
// savedParent.setUnindexedProperty("property1", "value3");
// ds.put(savedParent);
// Entity child = new Entity("child", "childId", savedParent.getKey());
Entity child = ds.get(KeyFactory.createKey(savedParent.getKey(), "child", "childId"));
child.setUnindexedProperty("property1", "val2");
ds.put(child);
// logger.info("Saved child.");
} catch (EntityNotFoundException e) {
throw new RuntimeException(e);
}
首先我保存了父实体并将其上的属性设置为“value2”然后我添加了一个属性为val1的子实体。然后我将父属性更新为value3。然后我将孩子的财产更新为val2。 然后我在管理控制台中发现,父级的属性值已返回value2。我再次重复它,结果相同。我错过了什么吗?或者这是某种错误?
答案 0 :(得分:0)
我想,这是最终一致性的表现,对吧?我在一个新的JVM实例中运行每一步,认为在我关闭它时必须存储值: - 。矛盾的常识,但在模仿最终的一致性方面是正确的....