处理未应用的写入数据

标签:Google App Engine

今早收到GAE团队发来的一封信:
App Engine applications you own affected by unapplied writes

Dear Developer,

During the day of May 25th, 2010, Google App Engine experienced a serving outage that lasted approximately 50 minutes. In the minutes leading up to the outage, we received a number of writes from your application that we were unable to replicate to the secondary Datastore. This caused the secondary Datastore to be slightly out of sync when we began serving traffic as part of the outage recovery process. We call these type of writes “unapplied writes.” Rest assured, unapplied writes do not impact the transactional consistency and have not corrupted your application data.

The follow applications you own have unapplied writes:
gaejava

During the recovery of the failed data center, we were able to produce a log of the unapplied writes that occurred during the outage period. As a service to you, these unapplied writes are now available from within your application’s to make it easy for you to re-integrate them. We have also developed a number of tools and example on how to do so. If you are interested in better understanding this logged data and how you can work with it, please visit the Unapplied Writes FAQ: http://code.google.com/appengine/kb/unappliedwrites.html

Additionally, if you have any follow up questions please reply to this email. We can also work with you to re-integrate or delete your entities in batch as you see fit for your application.

No action is required on your part; you can choose to ignore these writes if you choose. We're making these writes available to you because we want you to know that whenever possible, we take every step we can to recover any data, complete or incomplete, that you attempt to store on App Engine.

We apologize for any inconvenience this may have caused you and thank you for your continued support of Google App Engine.

The App Engine team
说的是5月25日的一次outage,我的gaejava应用因为大量写入,部分数据没有及时同步,于是变成了unapplied writes。

解决方法很简单,在Datastore Viewer里可以看到一个“__unapplied_write__TestModel”模型,恢复或删除这个模型的实体即可。



当然,编程解决也是可行的,信中给出的链接里也给出了例子。
如果要恢复的数据超过200条的话,最好的办法是回信给GAE团队,叫他们帮忙弄。
如果不需要这些数据的话,直接选择删除也行。

此外,Google说希望这个现象发生的次数少到一年一次,但很显然是无法杜绝的。

最后,GAE blog也提到了此事,并且说数据库延迟的问题应该会在下周解决,届时GAE blog会发文公告。

2条评论 你不来一发么↓ 顺序排列 倒序排列

    向下滚动可载入更多评论,或者点这里禁止自动加载

    想说点什么呢?