246 SnapshotUnavailable: SnapshotUnavailable
MongoDB含义
无法以所请求的快照读关注(readConcern: snapshot)执行读取,因为服务器无法为该时间点提供一致的快照。通常与读时间戳推进不够或已落后有关。
原因
使用了 readConcern 'snapshot'(主要在多文档事务中),但所请求的 atLeast/at 时间戳的一致视图尚不可用;例如新创建的集合/索引、目录变更或复制延迟。此时服务器拒绝读取。
解决方法
这通常是暂时性的;稍等后重试操作(驱动的暂时性事务错误重试机制涵盖了这种情况)。如果刚执行过 DDL(创建集合/索引),在其之后再启动事务。检查复制延迟和节点健康状况。如果并不真正需要快照读,选择更合适的 readConcern。
同一数据库的其他条目
- 28 PathNotViableCannot use the part of the path to traverse the element(无法使用路径的一部分遍历元素)
- 216 ElectionInProgressElectionInProgress
- 225 TransactionTooOldTransactionTooOld
- 257 TransactionTooLargeTransactionTooLarge
- 276 IndexBuildAbortedIndexBuildAborted
- 86 IndexKeySpecsConflictIndexKeySpecsConflict
- 166 CommandNotSupportedOnViewCommandNotSupportedOnView