首页 > 解决方案 > NO_SPACE - enumStoreLimitReached - 使用的枚举存储地址空间

问题描述

我正在尝试提供 Vespa 索引,但遇到 NO_SPACE 错误:

Detail resultType=FATAL_ERRORexception='ReturnCode(NO_SPACE, Put operation rejected for document 'id:site-search:site::<urn:uuid:033689d2-5f23-4afb-815d-d6f5d6ecbcbd>' of type 'site': 'enumStoreLimitReached: { action: "add more content nodes", reason: "enum store address space used (0.92813) > limit (0.9)", enumStore: { used: 31890298144, dead: 0, limit: 34359738368}, attributeName: "text", subdb: "ready"}')' endpoint=vespa1:8080 ssl=false resultTimeLocally=1532685239428

我的 Vespa 节点通过 Docker 运行,机器上有卷。以下是使用的卷:

-v /data/1/bench/vespa/sample-apps:/vespa-sample-apps -v /data/1/bench/vespa/logs:/opt/vespa/logs --volume /data/1/bench/vespa/var:/opt/vespa/var

所以,如果我是对的,数据应该存储在/data/1目录中,并根据df

$ df
Filesystem                 1K-blocks     Used  Available Use% Mounted on
udev                        65802860        0   65802860   0% /dev
tmpfs                       13162916   108488   13054428   1% /run
/dev/mapper/VgRoot-root     78217900  3249540   70952028   5% /
/dev/mapper/VgRoot-boot       237861    36998     184275  17% /boot
/dev/mapper/VgRoot-srv       9775612    36888    9222424   1% /srv
/dev/mapper/VgData01-data 3688163424 48757376 3451987424   2% /data/1

那里还有很多空间。所以我想知道,如果 Vespa 没有查看正确的磁盘分区来检查它是否使用了超过 90% 的磁盘空间。

标签: vespa

解决方案


每个节点的属性的唯一值数量有上限 - 请参阅https://docs.vespa.ai/documentation/performance/attribute-memory-usage.html#data

唯一的补救措施是向 Vespa 应用程序添加更多内容节点 - 这是在更多节点上自动重新分配文档,从而减少属性中唯一值的数量


推荐阅读