谷歌Appengine:无法真空索引

时间:2013-10-23 13:07:16

标签: java google-app-engine

达到200索引限制后,我需要清空我的应用程序的索引。

使用AppEngine 1.8.6,如果我启动此操作的常用命令

..\appengine-java-sdk-1.8.6\bin\appcfg.cmd vacuum_indexes C:\MyGaeProject\war

我收到以下错误

WARNING: Could not open/create prefs root node Software\JavaSoft\Prefs at root 0x80000002. Windows RegCreateKeyEx(...) r
eturned error code 5.
Reading application configuration data...
ott 23, 2013 2:49:30 PM com.google.apphosting.utils.config.AppEngineWebXmlReader readAppEngineWebXml
INFO: Successfully processed C:\MyGaeProject\war\WEB-INF/appengine-web.xml
ott 23, 2013 2:49:30 PM com.google.apphosting.utils.config.AbstractConfigXmlReader readConfigXml
INFO: Successfully processed C:\MyGaeProject\war\WEB-INF/web.xml
ott 23, 2013 2:49:30 PM com.google.apphosting.utils.config.AbstractConfigXmlReader readConfigXml
INFO: Successfully processed C:\MyGaeProject\war\WEB-INF/cron.xml
ott 23, 2013 2:49:30 PM com.google.apphosting.utils.config.AbstractConfigXmlReader readConfigXml
INFO: Successfully processed C:\MyGaeProject\war\WEB-INF/queue.xml
ott 23, 2013 2:49:30 PM com.google.apphosting.utils.config.IndexesXmlReader readConfigXml
INFO: Successfully processed C:\MyGaeProject\war\WEB-INF/datastore-indexes.xml


Beginning interaction for module default...
10% Found 79 local index definitions.

Error Details:
Line 0, column 12: Unable to find property 'application' on class: com.google.apphosting.utils.config.IndexYamlReader$In
dexYaml

Unable to perform vacuum_indexes
Unable to perform vacuum_indexes
Please see the logs [C:\UserTemp\appcfg6705503051002284735.log] for further information.
PS C:\Program Files (x86)\appengine-java-sdk-1.8.6\bin> .\appcfg.cmd vacuum_indexes "C:\MyGaeProject\war"
ott 23, 2013 2:50:18 PM java.util.prefs.WindowsPreferences <init>
WARNING: Could not open/create prefs root node Software\JavaSoft\Prefs at root 0x80000002. Windows RegCreateKeyEx(...) returned error code 5.
Reading application configuration data...
ott 23, 2013 2:50:19 PM com.google.apphosting.utils.config.AppEngineWebXmlReader readAppEngineWebXml
INFO: Successfully processed C:\MyGaeProject\war\WEB-INF/appengine-web.xml
ott 23, 2013 2:50:19 PM com.google.apphosting.utils.config.AbstractConfigXmlReader readConfigXml
INFO: Successfully processed C:\MyGaeProject\war\WEB-INF/web.xml
ott 23, 2013 2:50:19 PM com.google.apphosting.utils.config.IndexesXmlReader readConfigXml
INFO: Successfully processed C:\MyGaeProject\war\WEB-INF/datastore-indexes.xml


Beginning interaction for module default...
10% Found 0 local index definitions.

Error Details:
Line 0, column 12: Unable to find property 'application' on class:
com.google.apphosting.utils.config.IndexYamlReader$IndexYaml

Unable to perform vacuum_indexes
Unable to perform vacuum_indexes

出于测试目的,我也尝试并清空datastore-indexes.xml,但没有

即使使用Linux,我也会遇到同样的错误

与Python相同

02:39 PM Application: my-gae-app
02:39 PM Host: appengine.google.com
02:39 PM Fetching index definitions diff.
Email: my-gae-email
Password for my-gae-email:
Error parsing yaml file:
Unexpected attribute 'application' for object of type IndexDefinitions.
  in "<string>", line 2, column 14:
    application: null
                 ^

我可以阅读,i'm not the only one遇到此错误

已经尝试使用较旧的Java SDK,一个新的空白项目和另一个GAE应用程序,到目前为止同样的问题

编辑: 我将Python SDK更新到最新版本(1.8.6,为1.8.5),上面的错误不再显示,但现在我又收到了另一个错误

Error 400: --- begin server output ---

Client Error (400)
The request is invalid for an unspecified reason.
--- end server output ---

3 个答案:

答案 0 :(得分:1)

更新到最新的SDK [1.8.6]可能会解决此问题。 我通过安装最新的SDK解决了Python SDK的问题。 我遇到的问题是:

Error parsing yaml file:
Unexpected attribute 'application' for object of type IndexDefinitions.
  in "<string>", line 2, column 14:
    application: null
                 ^

答案 1 :(得分:0)

对于GAE / J,我使用表单命令(没有驱动器说明符):

appcfg.cmd --email=[E-mail address] vacuum_indexes "\MyGaeProject\war"

没有问题(但我已经有一段时间不必使用它了)。显然,您可以省略--email参数,但您可能希望在没有驱动器说明符的情况下尝试(并引用war文件夹只是为了好玩)。

答案 2 :(得分:0)

您可能有两个选择:1。等待修复错误的下一个sdk,或2.打开此处指定的故障单:https://code.google.com/p/googleappengine/issues/detail?id=10168