我有一个带有TTL索引的mongo集合。我看到文档正在按预期被逐出,但我没有看到磁盘空间正在被回收。有人看到过这种问题吗?如果你需要更多细节告诉我。
cx6n0qe31#
我们已经和mongo团队讨论过这个问题,根据所有的信息,有几件事并不那么容易1.如果你已经有更多的空间,那么TTL将删除文档,理想情况下,空间应该回收,但它不会。1.如果有新文档,则会重复使用1.如果大小要保持不变,那么你需要运行压缩命令。如果是分片的集群,它将在每个分片上。1.其他选项是创建新的集合和移动您的数据到较新的集合。一旦完成删除以前的集合1.备份此集合并删除集合,然后还原它。1.在所有这些事情之后,有可能mongo将所有内容保存在内存中,您需要重新启动群集,一旦重新启动,它将释放存储。
1条答案
按热度按时间cx6n0qe31#
我们已经和mongo团队讨论过这个问题,根据所有的信息,有几件事并不那么容易
1.如果你已经有更多的空间,那么TTL将删除文档,理想情况下,空间应该回收,但它不会。
1.如果有新文档,则会重复使用
1.如果大小要保持不变,那么你需要运行压缩命令。如果是分片的集群,它将在每个分片上。
1.其他选项是创建新的集合和移动您的数据到较新的集合。一旦完成删除以前的集合
1.备份此集合并删除集合,然后还原它。
1.在所有这些事情之后,有可能mongo将所有内容保存在内存中,您需要重新启动群集,一旦重新启动,它将释放存储。