Description
Current implementation of MetaCacheServerPicker::MarkServerFailed() marks the whole tablet server with multiple tablets as failed in the metadata cache, so future requests to any tablets hosted by the server would be directed to replicas hosted by other tablet servers. There are particular use-cases where having tablet-grained version of the MetaCacheServerPicker::MarkServerFailed() method would be beneficial. For example, marking only particular tablet failed on a tablet server because of an error during KuduSession::Flush() could avoid thrashing the whole metadata cache for the rest of tablets on the same server if the server is overall healthy and robust.
UPDATE: as it turned out, that was not correct – MetaCacheServerPicker::MarkServerFailed() marks as failed only tablet replicas on the specified server, not the whole server.