Google app engine GAE数据存储并发问题

Google app engine GAE数据存储并发问题,google-app-engine,concurrency,google-cloud-datastore,Google App Engine,Concurrency,Google Cloud Datastore,如果两个进程同时修改同一个实体,但只修改不同的属性,那么它们在调用DatastoreService.put时是否可能覆盖另一个进程所做的更改 过程A: theSameEntity.setProperty ("foo", "abc"); DatastoreService.put (theSameEntity); theSameEntity.setProperty ("bar", 123); DatastoreService.put (theSameEntity); sameentity

如果两个进程同时修改同一个实体,但只修改不同的属性,那么它们在调用
DatastoreService.put时是否可能覆盖另一个进程所做的更改

过程A:

theSameEntity.setProperty ("foo", "abc"); DatastoreService.put (theSameEntity); theSameEntity.setProperty ("bar", 123); DatastoreService.put (theSameEntity); sameentity.setProperty(“foo”、“abc”); DatastoreService.put(类似实体); 过程B:

theSameEntity.setProperty ("foo", "abc"); DatastoreService.put (theSameEntity); theSameEntity.setProperty ("bar", 123); DatastoreService.put (theSameEntity); sameentity.setProperty(“bar”,123); DatastoreService.put(类似实体);
是的,它们可能会覆盖彼此的更改,因为每次写入(而不仅仅是差异)都会将整个实体发送到datastore()


如果要避免这种情况,您需要使用。

是的,它们可能会覆盖彼此的更改,因为每次写入时整个实体都会发送到数据存储()中(而不仅仅是差异)

如果要避免这种情况,您需要使用。

是的,我观察到了这一点(尽管在我的例子中,并发请求修改了相同的属性)

我认为事务不会有帮助,因为它们不会锁定它们保证的数据存储,事务中的操作将看到相同的数据。我想知道是否有人找到了解决办法

是的,我观察到了这一点(尽管在我的例子中,并发请求修改了相同的属性)

我认为事务不会有帮助,因为它们不会锁定它们保证的数据存储,事务中的操作将看到相同的数据。我想知道是否有人找到了解决办法