// Here we only add the request to map. We will wait until timer fires to send the request to remote.
if req, ok := f.requestByShard[request.token.GetShardId()]; ok && req != request {
// and replication task processor is per shard
// during shard movement, duplicated requests can appear
// if shard moved from this host, to this host.
close(req.respChan)
}
f.requestByShard[request.token.GetShardId()] = request