V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐工具
RoboMongo
推荐书目
50 Tips and Tricks for MongoDB Developers
Related Blogs
Snail in a Turtleneck
gitopen
V2EX  ›  MongoDB

mongodb 在 createIndex 时报错

  •  
  •   gitopen · 2020-03-02 19:12:41 +08:00 · 6228 次点击
    这是一个创建于 1737 天前的主题,其中的信息可能已经有所发展或是发生改变。

    如下图所示,name 为 interdisciplinary 的 db 中有一个 collection,该 coll 共有 41443963 条数据,有一个 field 名为 keywords,就是在给 keywords 创建索引时,报错。keywords 的值是长度不长(小于 5 )的 array,存储一些关键词。 各位大神,有哪位知道哪里出了问题了吗?图中的错误是什么引起的呢?谢谢。 报错截图

    第 1 条附言  ·  2020-03-02 20:18:04 +08:00

    不知道怎么回事,图片在我这里可以显示出来 报错图片链接 报错图片

    第 2 条附言  ·  2020-03-02 20:24:12 +08:00

    新浪图床不行啊~ 直接把链接放在这里吧! https://sm.ms/image/cEWjy5CgFtXJQm7 QQ20200302-184805@2x.png

    第 3 条附言  ·  2020-03-03 11:25:37 +08:00

    UPDATE 昨晚--repair完毕以后,那个coll少了104条数据,猜测是多线程操作pymongo写入数据时,它们出现了问题。然后单线程重新处理一下数据,发现createIndex没有出现错误,也没有crash。问题应该是多线程写数据时,导致部分数据损坏。供大家参考。

    6 条回复    2020-03-03 11:27:30 +08:00
    rrfeng
        1
    rrfeng  
       2020-03-02 19:35:48 +08:00 via Android
    看不到图
    gitopen
        2
    gitopen  
    OP
       2020-03-02 20:13:15 +08:00
    @rrfeng #1
    gitopen
        3
    gitopen  
    OP
       2020-03-02 20:16:29 +08:00
    @rrfeng #1
    rrfeng
        4
    rrfeng  
       2020-03-02 21:19:42 +08:00 via Android
    这看起来是你数据库文件有问题啊…不像是建索引导致的错误,除非是遇到了什么奇怪的 bug。

    建议官方求助。

    试下 dump 这个 collection 能出来吗,看起来读到特定数据的时候 check sum 不对。

    是不是重复出现这个问题?这里应该直接 crash 了吧…
    gitopen
        5
    gitopen  
    OP
       2020-03-02 21:38:09 +08:00
    @rrfeng #4 对,直接 crash 了。。。我也是头一回遇见 createIndex 时出现错误,mongod 直接 crash 了。。。这会儿在--repair,看看完成后能不能正常~~~😂️感谢🙏🏻
    gitopen
        6
    gitopen  
    OP
       2020-03-03 11:27:30 +08:00
    @rrfeng #4 已经 append 了昨晚的试验,应该是多线程写入导致部分数据损坏,因此出现 checksum error,进而 crash。。。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1555 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 17:06 · PVG 01:06 · LAX 09:06 · JFK 12:06
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.