[ 
https://issues.apache.org/jira/browse/ZOOKEEPER-770?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13051422#comment-13051422
 ] 

Craig Calef commented on ZOOKEEPER-770:
---------------------------------------

When I was writing the test I had the same concern about the subjectivity of 
the timing, but couldn't determine how to test for 'auth was send and received 
immediately' vs. 'took much longer than it should since it wasn't sent 
immediately but when the api decided to later on after a poll call timed out'  

I'm also not sure why it didn't work for you (the test shows the obviously bad 
behavior)  I'd suggest perhaps doing a 'make clean' and then 'make zktest-mt' 
but I'm sure you thought of that.  Were you running zktest-mt or zktest-st?

> Slow add_auth calls with multi-threaded client
> ----------------------------------------------
>
>                 Key: ZOOKEEPER-770
>                 URL: https://issues.apache.org/jira/browse/ZOOKEEPER-770
>             Project: ZooKeeper
>          Issue Type: Bug
>          Components: c client, contrib-bindings
>    Affects Versions: 3.3.0, 3.3.3, 3.4.0
>         Environment: ubuntu lucid (10.04), zk trunk (3.4)
>            Reporter: Kapil Thangavelu
>            Assignee: Craig Calef
>            Priority: Minor
>             Fix For: 3.4.0
>
>         Attachments: ZOOKEEPER-770-FIX.patch, ZOOKEEPER-770.patch, authtest.py
>
>
> Calls to add_auth are a bit slow from the c client library. The auth callback 
> typically takes multiple seconds to fire. I instrumented the java, c binding, 
> and python binding with a few log statements to find out where the slowness 
> was occuring ( 
> http://bazaar.launchpad.net/~hazmat/zookeeper/fast-auth-instrumented/revision/647).
>  It looks like when the io thread polls, it doesn't register interest in the 
> incoming packet, so the auth success message from the server and the auth 
> callback are only processed when the poll timeouts. I tried modifying 
> mt_adapter.c so the poll registers interest in both events, this causes a 
> considerably more wakeups but it does address the issue of making add_auth 
> fast.  I think the ideal solution would be some sort of additional auth 
> handshake state on the handle, that zookeeper_interest could utilize to 
> suggest both POLLIN|POLLOUT are wanted for subsequent calls to poll during 
> the auth handshake handle state.
> i'm attaching a script that takes 13s or 1.6s for the auth callback depending 
> on the session time out value (which in turn figures into the calculation of 
> the poll timeout).

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

        

Reply via email to