gpt4 book ai didi

google-app-engine - HRD 迁移破坏了数据存储查询和索引

转载 作者:行者123 更新时间:2023-12-02 05:28:20 25 4
gpt4 key购买 nike

Google appengine HRD 迁移对我来说是一场噩梦。我昨天将我的 55GB 数据存储迁移到了 HRD。从那时起,许多查询和索引都被破坏了:

一些例子:

  • Select * from table1 where col1=val1 => query.get() 返回空Python。但是,它适用于数据存储查看器。
  • 从表 1 中选择 *其中 col1=val1 => query.count()>0。但是 query.get() = 空。
  • Select * from table1 where col1=val1 order by col2 desc => 几乎响应中丢失了一半的行。中的相同行为数据存储查看器。

如何修复这些表和索引?有什么方法可以让 Google Appengine 团队支持解决这个问题?这是一个 GAE 迁移工具错误。

将不胜感激。

最佳答案

当使用迁移工具时,会分配一个新的app id,这使得所有的key都发生了变化。

重新创建自定义索引:

  1. 暂时清空 index.yaml。
  2. 清理索引(查看 How can I remove unused indexes in Google Application Engine? 了解更多信息)。
  3. 等到所有索引都被删除。
  4. 恢复 index.yaml。
  5. 通过重新部署应用程序或运行 appcfg.py update_indexes <path> 创建索引(查看 the documentation 了解更多信息)。

如果有的话,您可能还需要手动更新所有其他引用(例如键的 ListProperty)。

编辑
App Engine 自动管理的简单单一属性索引在放置属性时创建/更新。
要重新生成它们,我建议创建并运行一个简单的 MapReduce 任务来放置每个现有实体。此过程应该重建所有索引(包括在 index.yaml 中定义的索引)。
由于这是一个成本高昂的过程,因此请先用几个实体手动执行此操作,看看它是否能解决问题。

关于google-app-engine - HRD 迁移破坏了数据存储查询和索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12768009/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com