I found these error message in log.
But, I don’t know what these mean.
Plz, help me.
2021-11-05T02:23:32.779+0900 I QUERY [conn12779876] Unable to establish remote cursors - {error: StaleConfig{ ns: “flo.psn_member_chnl”, vReceived: Timestamp(588, 0), vReceivedEpoch: ObjectId(‘5e8ac33072eaa684d76b4f52’), vWanted: Timestamp(589, 0), vWantedEpoch: ObjectId(‘5e8ac33072eaa684d76b4f52’) }: version mismatch detected for flo.psn_member_chnl, numActiveRemotes: 2}
2021-11-05T02:23:32.783+0900 I SH_REFR [ConfigServerCatalogCacheLoader-41232] Refresh for collection flo.psn_member_chnl from version 588|1||5e8ac33072eaa684d76b4f52 to version 589|1||5e8ac33072eaa684d76b4f52 took 3 ms
These came from Mongos.
And it appears repeatedly over several collections.
a major version (incremented on chunk migration, which means data has moved to a new shard)
a minor version (incremented on chunk splits, which do not change the shard location of data)
an epoch (ObjectID distinguishing a unique instance of a collection)
mongos processes use a lazy refresh so they only update cached config data when necessary. A change in the major version or epoch means the cached config/routing data is “stale” and must be refreshed so mongos targets the correct shards for requests.
When a mongos makes requests the associated cached chunk version is included for context. If that config data is stale (older than the major version or epoch on the config servers), the mongos will automatically fetch updated config data. A lazy refresh minimises the amount of coordination required every time a chunk moves: mongos processes don’t need to verify routing until a relevant request is made.
Your first log line shows that the cached config data is stale and needs to be refreshed; the second shows the outcome of the refresh request:
Refresh for collection flo.psn_member_chnl from version 588|1||5e8ac33072eaa684d76b4f52 to version 589|1||5e8ac33072eaa684d76b4f52 took 3 ms
The original mongos request was sent with chunk version 588|1||5e8ac33072eaa684d76b4f52 (major, minor, epoch) which turned out to be a stale version. The config data was automatically refreshed to chunk version 589|1||5e8ac33072eaa684d76b4f52. The major version changed from 588 to 589, so this chunk was recently migrated. As data in this chunk is accessed by other mongos processes, they will have similar refresh of their cached data based on relevant requests.
There is no user action required for these informational messages.