Auth completion are called for every registered auth, and auths are never 
removed from the auth list. (even after they are processed).
--------------------------------------------------------------------------------------------------------------------------------------

                 Key: ZOOKEEPER-1127
                 URL: https://issues.apache.org/jira/browse/ZOOKEEPER-1127
             Project: ZooKeeper
          Issue Type: Bug
          Components: c client
    Affects Versions: 3.3.3
            Reporter: Dheeraj Agrawal
            Priority: Critical


When we get a auth response, every time we process any auth_response, we call 
ALL the auth completions (might be registered by different add_auth_info 
calls). we should be calling only the one that the request came from? I guess 
we dont know for which request the response corresponds to? If the requests are 
processed in FIFO and response are got in order then may be we can figure out 
which add_auth info request the response corresponds to.

Also , we never remove entries from the auth_list

Also the logging is misleading. 
<code>
  1206     if (rc) {
   1207         LOG_ERROR(("Authentication scheme %s failed. Connection 
closed.",
   1208                    zh->auth_h.auth->scheme));
   1209     }
   1210     else {
   1211         LOG_INFO(("Authentication scheme %s succeeded", 
zh->auth_h.auth->scheme));
</code>
If there are multiple auth_info in the auth_list , we always print 
success/failure for ONLY the first one. So if I had two auths for scehmes, ABCD 
and EFGH and my auth scheme EFGH failed, the logs will still say ABCD failed


--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to