Return-Path: Delivered-To: apmail-hbase-user-archive@www.apache.org Received: (qmail 2137 invoked from network); 27 Feb 2011 18:30:15 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.3) by minotaur.apache.org with SMTP; 27 Feb 2011 18:30:15 -0000 Received: (qmail 9672 invoked by uid 500); 27 Feb 2011 18:30:14 -0000 Delivered-To: apmail-hbase-user-archive@hbase.apache.org Received: (qmail 9481 invoked by uid 500); 27 Feb 2011 18:30:11 -0000 Mailing-List: contact user-help@hbase.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: user@hbase.apache.org Delivered-To: mailing list user@hbase.apache.org Received: (qmail 9473 invoked by uid 500); 27 Feb 2011 18:30:11 -0000 Delivered-To: apmail-hadoop-hbase-user@hadoop.apache.org Received: (qmail 9470 invoked by uid 99); 27 Feb 2011 18:30:11 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Sun, 27 Feb 2011 18:30:11 +0000 X-ASF-Spam-Status: No, hits=-0.1 required=5.0 tests=HTML_MESSAGE,RCVD_IN_DNSWL_MED,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (nike.apache.org: domain of dean.hiller@broadridge.com designates 64.18.2.22 as permitted sender) Received: from [64.18.2.22] (HELO exprod7og122.obsmtp.com) (64.18.2.22) by apache.org (qpsmtpd/0.29) with ESMTP; Sun, 27 Feb 2011 18:30:00 +0000 Received: from source ([167.212.2.180]) (using TLSv1) by exprod7ob122.postini.com ([64.18.6.12]) with SMTP ID DSNKTWqYEsAxw2Gd5GwVoIpyYq5FdZpeYach@postini.com; Sun, 27 Feb 2011 10:29:39 PST Received: from jsppsldlpsi01.broadridge.net ([10.98.54.11]) by mail.broadridge.com (8.13.8/8.13.8) with ESMTP id p1RITb857663632 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO) for ; Sun, 27 Feb 2011 13:29:37 -0500 Received: from JOSQHUBA01.jsq.bsg.ad.adp.com (josqhuba01.jsq.bsg.ad.adp.com [149.83.60.74]) by jsppsldlpsi01.broadridge.net (RSA Interceptor) for ; Sun, 27 Feb 2011 13:29:26 -0500 Received: from DNVREMSA01.jsq.bsg.ad.adp.com ([206.88.42.250]) by JOSQHUBA01.jsq.bsg.ad.adp.com with Microsoft SMTPSVC(6.0.3790.4675); Sun, 27 Feb 2011 13:29:26 -0500 Content-class: urn:content-classes:message MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="----_=_NextPart_001_01CBD6AC.42BA405D" X-MimeOLE: Produced By Microsoft Exchange V6.5 Subject: asynch api mailing list? Date: Sun, 27 Feb 2011 11:29:23 -0700 Message-ID: <7CA0D5FE7FA83048893E9230C1E9C0280C444C68@DNVREMSA01.jsq.bsg.ad.adp.com> X-MS-Has-Attach: X-MS-TNEF-Correlator: Thread-Topic: asynch api mailing list? Thread-Index: AcvWrEGetmcx6ncVTJiJTrvXvyVnJg== From: "Hiller, Dean (Contractor)" To: X-OriginalArrivalTime: 27 Feb 2011 18:29:26.0003 (UTC) FILETIME=[432E7C30:01CBD6AC] X-RSA-Inspected: yes X-RSA-Classifications: public X-RSA-Action: allow X-Virus-Checked: Checked by ClamAV on apache.org ------_=_NextPart_001_01CBD6AC.42BA405D Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable I had a question on the hbase asynch api. =20 I find it odd that there is a PleaseThrottleException as on most asynch systems I have worked on, each node has a queue and when the queue fills up, the nic buffer in it fills up which means the remote nic buffer then fills up and then the client should be blocking all writes which means his incoming buffer fills up, etc. etc. (or he can spin needlessly but that is usually a very very bad choice...in fact, I have never seen that work out well and always was reverted). =20 The nice thing I always found with asynch systems is you completely control your memory footprint of the server with the incoming queue...direct relationship between that queue size and the memory of the node used. The other things that was always done was asynch reads but always do synch writes(or block on a lock if write can't go through until it can go through to slow down the upstream system and throttle it).....ie. it is a self throttling system when done this way so there is no need for a PleaseThrottleException which I find odd. =20 Maybe I am missing something though???? As a client, I definitely want async reads but my writes should only return if there was room in the nic buffer to write it out, otherwise it should block and hold up my client so my client doesn't have to do any extra coding for a PleaseThrottleException. =20 In this solution, most of my writes will be asynch right up until hbase starts becoming a bottleneck. =20 Thanks, Dean =20 =20 This message and any attachments are intended only for the use of the add= ressee and may contain information that is privileged and confidential. If the reade= r of the = message is not the intended recipient or an authorized representative of = the intended recipient, you are hereby notified that any dissemination of thi= s communication is strictly prohibited. If you have received this communica= tion in error, please notify us immediately by e-mail and delete the message and = any attachments from your system. =0D ------_=_NextPart_001_01CBD6AC.42BA405D--