Return-Path: X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183]) by cust-asf2.ponee.io (Postfix) with ESMTP id 86514200C28 for ; Mon, 13 Mar 2017 17:23:25 +0100 (CET) Received: by cust-asf.ponee.io (Postfix) id 84E16160B8B; Mon, 13 Mar 2017 16:23:25 +0000 (UTC) Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by cust-asf.ponee.io (Postfix) with SMTP id D180E160B60 for ; Mon, 13 Mar 2017 17:23:24 +0100 (CET) Received: (qmail 30656 invoked by uid 500); 13 Mar 2017 16:22:29 -0000 Mailing-List: contact dev-help@zookeeper.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@zookeeper.apache.org Delivered-To: mailing list dev@zookeeper.apache.org Received: (qmail 28180 invoked by uid 99); 13 Mar 2017 16:22:27 -0000 Received: from pnap-us-west-generic-nat.apache.org (HELO spamd1-us-west.apache.org) (209.188.14.142) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 13 Mar 2017 16:22:27 +0000 Received: from localhost (localhost [127.0.0.1]) by spamd1-us-west.apache.org (ASF Mail Server at spamd1-us-west.apache.org) with ESMTP id 111C3CA82E for ; Mon, 13 Mar 2017 16:22:27 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd1-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: 0.651 X-Spam-Level: X-Spam-Status: No, score=0.651 tagged_above=-999 required=6.31 tests=[RP_MATCHES_RCVD=-0.001, SPF_NEUTRAL=0.652] autolearn=disabled Received: from mx1-lw-eu.apache.org ([10.40.0.8]) by localhost (spamd1-us-west.apache.org [10.40.0.7]) (amavisd-new, port 10024) with ESMTP id 97hgzOviQWCN for ; Mon, 13 Mar 2017 16:22:26 +0000 (UTC) Received: from mailrelay1-us-west.apache.org (mailrelay1-us-west.apache.org [209.188.14.139]) by mx1-lw-eu.apache.org (ASF Mail Server at mx1-lw-eu.apache.org) with ESMTP id 69633619B5 for ; Mon, 13 Mar 2017 16:22:14 +0000 (UTC) Received: from jira-lw-us.apache.org (unknown [207.244.88.139]) by mailrelay1-us-west.apache.org (ASF Mail Server at mailrelay1-us-west.apache.org) with ESMTP id 2BC55E0E08 for ; Mon, 13 Mar 2017 16:22:09 +0000 (UTC) Received: from jira-lw-us.apache.org (localhost [127.0.0.1]) by jira-lw-us.apache.org (ASF Mail Server at jira-lw-us.apache.org) with ESMTP id 53E5D243A8 for ; Mon, 13 Mar 2017 16:22:05 +0000 (UTC) Date: Mon, 13 Mar 2017 16:22:05 +0000 (UTC) From: "Michael Han (JIRA)" To: dev@zookeeper.apache.org Message-ID: In-Reply-To: References: Subject: [jira] [Updated] (ZOOKEEPER-770) Slow add_auth calls with multi-threaded client MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 archived-at: Mon, 13 Mar 2017 16:23:25 -0000 [ https://issues.apache.org/jira/browse/ZOOKEEPER-770?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Michael Han updated ZOOKEEPER-770: ---------------------------------- Fix Version/s: (was: 3.5.3) 3.5.4 > 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 > Fix For: 3.5.4, 3.6.0 > > Attachments: authtest.py, ZOOKEEPER-770-FIX.patch, ZOOKEEPER-770.patch, ZOOKEEPER-770.patch, ZOOKEEPER-770.patch > > > 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 was sent by Atlassian JIRA (v6.3.15#6346)