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 6AE10200BF1 for ; Tue, 3 Jan 2017 20:25:51 +0100 (CET) Received: by cust-asf.ponee.io (Postfix) id 696D5160B43; Tue, 3 Jan 2017 19:25:51 +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 B248A160B20 for ; Tue, 3 Jan 2017 20:25:50 +0100 (CET) Received: (qmail 34114 invoked by uid 500); 3 Jan 2017 19:25:50 -0000 Mailing-List: contact reviews-help@impala.incubator.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Delivered-To: mailing list reviews@impala.incubator.apache.org Received: (qmail 34103 invoked by uid 99); 3 Jan 2017 19:25:49 -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; Tue, 03 Jan 2017 19:25:49 +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 20C2EC1287 for ; Tue, 3 Jan 2017 19:25:49 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd1-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: 0.363 X-Spam-Level: X-Spam-Status: No, score=0.363 tagged_above=-999 required=6.31 tests=[RDNS_DYNAMIC=0.363, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] 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 QNSM-DQeyC9g for ; Tue, 3 Jan 2017 19:25:48 +0000 (UTC) Received: from ip-10-146-233-104.ec2.internal (ec2-75-101-130-251.compute-1.amazonaws.com [75.101.130.251]) by mx1-lw-eu.apache.org (ASF Mail Server at mx1-lw-eu.apache.org) with ESMTPS id 916005F1B3 for ; Tue, 3 Jan 2017 19:25:47 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by ip-10-146-233-104.ec2.internal (8.14.4/8.14.4) with ESMTP id v03JPeq3006492; Tue, 3 Jan 2017 19:25:40 GMT Message-Id: <201701031925.v03JPeq3006492@ip-10-146-233-104.ec2.internal> Date: Tue, 3 Jan 2017 19:25:40 +0000 From: "Henry Robinson (Code Review)" To: Sailesh Mukil , impala-cr@cloudera.com, reviews@impala.incubator.apache.org CC: Lars Volker Reply-To: henry@cloudera.com X-Gerrit-MessageType: comment Subject: =?UTF-8?Q?=5BImpala-ASF-CR=5D_IMPALA-3977=3A_TransmitData=28=29_should_not_block=0A?= X-Gerrit-Change-Id: I47f9d6c1de95a72ab73471dcd2a3118ef13e7db0 X-Gerrit-ChangeURL: X-Gerrit-Commit: 7c51b877fda7615315b39b2496fb2998e9c03917 In-Reply-To: References: MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Content-Disposition: inline User-Agent: Gerrit/2.12.2 archived-at: Tue, 03 Jan 2017 19:25:51 -0000 Henry Robinson has posted comments on this change. Change subject: IMPALA-3977: TransmitData() should not block ...................................................................... Patch Set 4: (13 comments) http://gerrit.cloudera.org:8080/#/c/5491/4/be/src/runtime/data-stream-mgr.cc File be/src/runtime/data-stream-mgr.cc: PS4, Line 42: Unfortunately you can't just remove flags, because then Impala won't start if someone set them. Instead, change the comment to "DEPRECATED", and leave a TODO to remove in the next compat-breaking release. PS4, Line 117: == true remove http://gerrit.cloudera.org:8080/#/c/5491/4/be/src/runtime/data-stream-recvr.cc File be/src/runtime/data-stream-recvr.cc: PS4, Line 53: This does not block Mention that senders are expected to try again in this instance. PS4, Line 151: bool* is_queue_full Just return a boolean? Line 167: *is_queue_full = true; I thought you were going to add a timed-wait here. http://gerrit.cloudera.org:8080/#/c/5491/4/be/src/runtime/data-stream-sender.cc File be/src/runtime/data-stream-sender.cc: Line 220: system_time timeout = get_system_time() + Why not use MontonicMillis() for this? PS4, Line 223: at-least "at least". But in general this comment is a bit confusing. We don't want to give the impression that the RPC could logically be sent (or really, received) more than once. Instead, you should spell out the state machine that TransmitData() now follows in a single comment, possibly at the definition of TransmitData(), or maybe in this method. It's complicated enough that we should document it in one place, rather than across several comments. PS4, Line 245: DATASTREAM_RECEIVER_EAGAIN Now that it's clearer when this could be received I'd rename it to DATASTREAM_RECEIVER_NOT_READY PS4, Line 249: else Don't need else since previous block returns. PS4, Line 252: shutdown shut down Line 265: SleepForMs(DATASTREAM_RPC_RETRY_SLEEP_DURATION_MS); indentation Line 270: rpc_status_ = Status(TErrorCode::DATASTREAM_SENDER_TIMEOUT, PrintId(fragment_instance_id_)); long line http://gerrit.cloudera.org:8080/#/c/5491/4/be/src/runtime/data-stream-test.cc File be/src/runtime/data-stream-test.cc: PS4, Line 574: // Set a higher timeout for this test. : FLAGS_datastream_sender_timeout_ms = 5000; This will affect all tests. Consider using ScopedFlagSetter (see webserver-test.cc). -- To view, visit http://gerrit.cloudera.org:8080/5491 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: comment Gerrit-Change-Id: I47f9d6c1de95a72ab73471dcd2a3118ef13e7db0 Gerrit-PatchSet: 4 Gerrit-Project: Impala-ASF Gerrit-Branch: master Gerrit-Owner: Sailesh Mukil Gerrit-Reviewer: Henry Robinson Gerrit-Reviewer: Lars Volker Gerrit-Reviewer: Sailesh Mukil Gerrit-HasComments: Yes