Open breeent opened 1 year ago
引擎可以通过 fslib 组件来统一对下层不同文件系统的访问,对于在分布式存储上的索引来说:
现在fslib等底层代码还在逐步开源,目前远端访问的话只支持cache的形式,如果是mmap的话确实是需要先下载到本地才能成功。
现在fslib等底层代码还在逐步开源,目前远端访问的话只支持cache的形式,如果是mmap的话确实是需要先下载到本地才能成功。
嗯嗯明白了,期待这些代码的进一步开源。
这个问题是影响线上大规模使用的,等待进一步解决
将构建好的索引数据挂载到分布式存储后searcher一直无法成功启动,查看ha3.log发现如下ERROR: [ERROR] [201, build/release64/indexlib/file_system/mmap_file_node.cpp -- LoadData():309] [lock file:[/home/xxx/cases/normal/workdir/local_search_12000/in0_0/runtimedata/in0/generation_0/partition_0_65535/segment_14_level_0/index/title/bitmap_posting] FAILED, errno: 12, errmsg: Cannot allocate memory] 查看代码是mmap_file_node.cpp中的mlock报错
查看mlock相关文档时认为是 ENOMEM (mlock(), mlock2(), and munlock()) Some of the specified address range does not correspond to mapped pages in the address space of the process. 这个问题导致的,目前通过cp的方式将数据拷贝进来后searcher才能过成功启动。 请问这个问题有没有更好的解决方式呢?