闭关纪要19.Google Datastore API的疑似BUG?
今天我的18w的数据向Google Datastore API导了很久,结果中途被我一不小心把那个窗口关闭了,也就中断了,在我想“断点续传”的时候,对已经上传的数据进行检视,发现了诸多问题。
首先是发现缺了一些数据,而且这些缺的数据毫无规律,我前面讲到,Bulk data uploader以10条为单位向服务器传送数据,不过数据的缺失却不是以10条作为单位的,这一点就让我十分困惑,在我仔细研究Bulk Client和Bulk Server的代码以找出问题所在的时候,发现了另一个更加明显和严重的问题,因此,我决定暂停这方面的研究,先在Google 论坛上找高人解惑一下,不过因为Google论坛貌似不支持上传图片,所以先写一篇中文博客介绍此问题。
这个问题是比较明显的,先看第一张截图:
我们可以很明显的注意到根据Y=3000进行查询,有一列的minX=8113的,再看下一张截图:
这张截图里面,我对所有Y=3000的数据按照minX排序,结果却发现,那个8113的那条记录没有了,这一点让我十分困惑,按我估计,应该算是一个BUG吧。
针对这个问题,我还有几点说明如下:
1.以上截图不是偶然情况,每次我查询都会出现,而且,我写的程序没有正在修改这个数据;
2.这些数据都是采用Bulk data uploader一次传输上去的,传输完成之后,再通过编写一个读取这个表的类,系统自动生成了索引Index,目前索引状态为:"Y ▲ , minX ▲ Serving",所以索引是正常的;
3.以上的两张截图是"appengine.google.com"上的截图,而不是本地测试环境的截图;
4.RgeoData表的四个字段类型都是int,所以不存在排序方法的问题
5.我通过翻页找了一遍,在"order by minX"的情况下,返回的所有结果之中,的确没有8113那一行;
基本上问题描述如上了,希望我能尽快弄明白这个问题,否则要影响我的网站的服务迁移到Google App Engine的进程了。
posted on 2008-12-21 22:24 K_Reverter 阅读(729) 评论(1) 编辑 收藏 举报