RoutingTableRangeGap
说明
format
{ type: "RoutingTableRangeGap", description: "<string>", details: { namespace: "<string>", collectionUUID: <string>, chunkA: {<document>}, chunkB: {<document>} } }
RoutingTableRangeGap
不一致文档包含以下字段:
字段 | 类型 | 说明 |
---|---|---|
type | 字符串 | 不一致文档的类型。 为此不一致类型返回值 |
description | 字符串 | 描述在元数据中发现的不一致之处。 |
details | 文档 | 包含有关数据库和分片集群中哪些位置存在不一致的附加信息的文档。 |
details.namespace | 字符串 | 指示存在不一致的数据库和collection。 |
details.collectionUUID | UUID | 集合的 UUID。 |
details.chunkA | 文档 | 与第二个数据块有间隙的第一个数据块。 |
details.chunkB | 文档 | 与第一个数据段有间隙的第二个数据段。 |
例子
使用 db.adminCommand()
方法调用checkMetadataConsistency
命令:
db.adminCommand( { checkMetadataConsistency: 1 } )
该方法返回一个游标,其中包含一批文档,显示分片元数据中发现的不一致。 以下示例显示了带有RoutingTableRangeGap
不一致文档的游标:
{ cursor: { id: Long("0"), ns: "test.$cmd.aggregate", firstBatch: [ { type: "RoutingTableRangeGap", description: "Found a gap between two consecutive chunks", details: { namespace: "test.authors", collectionUUID: new UUID("62ebdb7e-a7bb-4151-a620-49d44cef097f"), chunkA: { _id: ObjectId("64dde749ac6045c92ef3b9ad"), uuid: new UUID("8c83ea89-ab6b-4ae4-91ab-813cf781284d"), min: { x: MinKey }, max: { x: 0 }, shard: "shard0000", lastmod: Timestamp(1, 0), onCurrentShardSince: Timestamp(1, 0), history: [ { validAfter: Timestamp(1, 0), shard: "shard0000" } ] }, chunkB: { _id: ObjectId("64dde749ac6045c92ef3b9af"), uuid: new UUID("8c83ea89-ab6b-4ae4-91ab-813cf781284d"), min: { x: 10 }, max: { x: MaxKey }, shard: "shard0000", lastmod: Timestamp(1, 0), onCurrentShardSince: Timestamp(1, 0), history: [ { validAfter: Timestamp(1, 0), shard: "shard0000" } ] } } } ], }, ok: 1 }