我想删除一个foundationDB目录及其所有内容。但是,DirectoryLayer::remove states:
警告:已经打开目录的客户端在删除目录后仍可能将数据插入其内容。
我有办法以事务方式删除目录吗?也就是说,在提交了delete事务之后,目录就完全消失了。如果有一个冲突的事务正在添加到目录中,最多一个成功?
FoundationDB正在将其目录实现为指定密钥,例如Dir1/Dir2/Dir3/key将被转换为类似的内容
Dir1/Dir2/Dir3/Key
因此,删除目录意味着内部有一个清晰的范围。这可以而且是以事务方式完成的。然而,不可能阻止额外的密钥,如
Dir1/Dir2/Dir3/KeyAdditional
在删除目录后插入,因为目录只是概念性存在,而不是内部存在。