[ https://issues.apache.org/jira/browse/KUDU-2586?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Alexey Serbin reassigned KUDU-2586: ----------------------------------- Assignee: (was: Alexey Serbin) > Refactor ConnectToClusterRpc to handle FATAL_INVALID_AUTHENTICATION_TOKEN > ------------------------------------------------------------------------- > > Key: KUDU-2586 > URL: https://issues.apache.org/jira/browse/KUDU-2586 > Project: Kudu > Issue Type: Improvement > Components: client, security > Affects Versions: 1.8.0 > Reporter: Alexey Serbin > Priority: Major > > Current implementation of the {{ConnectToClusterRpc::SingleNodeCallback()}} > method does not handle {{FATAL_INVALID_AUTHENTICATION_TOKEN}} error code, > relying on handling that in {{KuduClient::Data::SyncLeaderMasterRpc()}}. As > it turned out, that's not enough: see KUDU-2058. > In short, current authn token should be removed from the messenger after upon > receiving {{FATAL_INVALID_AUTHENTICATION_TOKEN}} error code in response from > any master. A new token should be automatically acquired (if primary > credentials are present) on next attempt to connect to the cluster. > Also, it would be nice to refactor > {{KuduClient::Data::SyncLeaderMasterRpc()}} regarding handling of various > error codes. Additionally, it's necessary to revise the logic of > setting/resetting the {{KuduClient::Data::master_proxy_}} member upon > receiving non-OK result status in > {{KuduClient::Data::ConnectedToClusterCb()}}; e.g. whether it's worth keep > the old proxy to the master server if receiving {{NOT_THE_LEADER}} error > response code while trying to connect to it. Maybe, the latter approach > would automatically straighten things up without necessity to handle > {{FATAL_INVALID_AUTHENTICATION_TOKEN}} by {{ConnectToClusterRpc}}. -- This message was sent by Atlassian Jira (v8.3.4#803005)