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 41C79200C8E for ; Thu, 4 May 2017 01:17:11 +0200 (CEST) Received: by cust-asf.ponee.io (Postfix) id 40912160BB5; Wed, 3 May 2017 23:17:11 +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 8B228160BBA for ; Thu, 4 May 2017 01:17:10 +0200 (CEST) Received: (qmail 46966 invoked by uid 500); 3 May 2017 23:17:09 -0000 Mailing-List: contact issues-help@hbase.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Delivered-To: mailing list issues@hbase.apache.org Received: (qmail 46747 invoked by uid 99); 3 May 2017 23:17:09 -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; Wed, 03 May 2017 23:17:09 +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 83E7CC1986 for ; Wed, 3 May 2017 23:17:08 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd1-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: -99.202 X-Spam-Level: X-Spam-Status: No, score=-99.202 tagged_above=-999 required=6.31 tests=[KAM_ASCII_DIVIDERS=0.8, RP_MATCHES_RCVD=-0.001, SPF_PASS=-0.001, USER_IN_WHITELIST=-100] autolearn=disabled Received: from mx1-lw-us.apache.org ([10.40.0.8]) by localhost (spamd1-us-west.apache.org [10.40.0.7]) (amavisd-new, port 10024) with ESMTP id 7Awt_oogCs7z for ; Wed, 3 May 2017 23:17:07 +0000 (UTC) Received: from mailrelay1-us-west.apache.org (mailrelay1-us-west.apache.org [209.188.14.139]) by mx1-lw-us.apache.org (ASF Mail Server at mx1-lw-us.apache.org) with ESMTP id D68845FE16 for ; Wed, 3 May 2017 23:17:06 +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 15BFFE0DAA for ; Wed, 3 May 2017 23:17:06 +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 8928021DFD for ; Wed, 3 May 2017 23:17:04 +0000 (UTC) Date: Wed, 3 May 2017 23:17:04 +0000 (UTC) From: "Enis Soztutar (JIRA)" To: issues@hbase.apache.org Message-ID: In-Reply-To: References: Subject: [jira] [Commented] (HBASE-17576) [C++] Implement request retry mechanism over RPC for Multi calls. MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 archived-at: Wed, 03 May 2017 23:17:11 -0000 [ https://issues.apache.org/jira/browse/HBASE-17576?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15995881#comment-15995881 ] Enis Soztutar commented on HBASE-17576: --------------------------------------- Doing these kind of aliases is not good in a header file. They should at least be in the hbase namespace. Please look into whether you can move them to the .cc file or not. {code} +using SharedResult = std::shared_ptr; +using FutureResult = Future; +using PromiseResult = Promise; +using MultiResult = std::unique_ptr>; +using Errors = std::shared_ptr>; {code} - Remove this: {code} + // typedef BatchCallerBuilder GenenericThisType; {code} - Rename the name of the test to "MultiGets": {code} +TEST_F(ClientTest, PutGets) { {code} - There was an earlier comment about not iterating through these maps, because these maps are supposed to be hash maps, and this one in particular is already keyed by server name. Please do not iterate through the whole map like this: {code} + for (auto itr = actions_by_server.begin(); itr != actions_by_server.end(); ++itr) { + ServerNameEquals server_name_equals; {code} - And as we have discussed offline, we cannot be blocking on the location lookup, or in {{GetMultiResponse()}} by calling {{.get()}} on Futures. This defeats the whole purpose of the async flow. - Nit: you can just do a normal iteration here rather than using std::for_each(): {code} + std::for_each( + std::begin(region_requests), std::end(region_requests), + [®ions](const std::vector>::value_type ®ion_request) { + regions += region_request->region_location()->region_name() + ", "; + }); {code} > [C++] Implement request retry mechanism over RPC for Multi calls. > ----------------------------------------------------------------- > > Key: HBASE-17576 > URL: https://issues.apache.org/jira/browse/HBASE-17576 > Project: HBase > Issue Type: Sub-task > Reporter: Sudeep Sunthankar > Assignee: Sudeep Sunthankar > Attachments: HBASE-17576.HBASE-14850.v10.patch, HBASE-17576.HBASE-14850.v1.patch, HBASE-17576.HBASE-14850.v2.patch, HBASE-17576.HBASE-14850.v3.patch, HBASE-17576.HBASE-14850.v4.patch, HBASE-17576.HBASE-14850.v5.patch, HBASE-17576.HBASE-14850.v6.patch, HBASE-17576.HBASE-14850.v7.patch, HBASE-17576.HBASE-14850.v8.patch, HBASE-17576.HBASE-14850.v9.patch > > > This work is based on top of HBASE-17465. Multi Calls will be based on this. -- This message was sent by Atlassian JIRA (v6.3.15#6346)