CollectionUUIDMismatch
说明
CollectionUUIDMismatch
分片上存在一个集合,其本地注册的分片与
config.collections
集群目录中注册的 UUID 不同。7.0 版本中的新增功能。
format
{ type: "CollectionUUIDMismatch", description: "<string>", details: { namespace: "<string>", shard: "<string>", localUUID: UUID("<uuid>"), uuid: UUID("<uuid>") } }
CollectionUUIDMismatch
不一致文档包含以下字段:
字段 | 类型 | 说明 |
---|---|---|
type | 字符串 | 不一致文档的类型。 为此不一致类型返回值 |
description | 字符串 | 描述在元数据中发现的不一致之处。 |
details | 文档 | 包含有关数据库和分片集群中哪些位置存在不一致的附加信息的文档。 |
details.namespace | 字符串 | 指示存在不一致的数据库和collection。 |
details.shard | 字符串 | 存在不一致的分片。 |
details.localUUID | UUID | 在分片本地注册的 UUID。 |
details.uuid | UUID | 在 config.collections 集群目录中找到的collection的 UUID。 |
例子
使用db.adminCommand()
方法调用checkMetadataConsistency
命令:
db.adminCommand( { checkMetadataConsistency: 1 } )
该方法返回一个游标,其中包含一批文档,显示分片元数据中发现的不一致。 以下示例显示了带有CollectionUUIDMismatch
不一致文档的游标:
{ cursor: { id: Long("0"), ns: "test.$cmd.aggregate", firstBatch: [ { type: "CollectionUUIIDMismatch", description: "Found collection on non primary shard with mismatching UUID", details: { namespace: "test.authors", shard: "shard02", localUUID: new UUID("1ad56770-61e2-48e9-83c6-8ecefe73cfc4"), uuid: new UUID("a3153e8a-3544-43ec-928f-37f72b48dee9") } } ], }, ok: 1 }