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 378DB200CAC for ; Mon, 19 Jun 2017 12:43:05 +0200 (CEST) Received: by cust-asf.ponee.io (Postfix) id 36471160BE4; Mon, 19 Jun 2017 10:43:05 +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 7BFF7160BE1 for ; Mon, 19 Jun 2017 12:43:04 +0200 (CEST) Received: (qmail 33642 invoked by uid 500); 19 Jun 2017 10:43:03 -0000 Mailing-List: contact commits-help@beam.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@beam.apache.org Delivered-To: mailing list commits@beam.apache.org Received: (qmail 33633 invoked by uid 99); 19 Jun 2017 10:43:03 -0000 Received: from pnap-us-west-generic-nat.apache.org (HELO spamd3-us-west.apache.org) (209.188.14.142) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 19 Jun 2017 10:43:03 +0000 Received: from localhost (localhost [127.0.0.1]) by spamd3-us-west.apache.org (ASF Mail Server at spamd3-us-west.apache.org) with ESMTP id 38C0C180352 for ; Mon, 19 Jun 2017 10:43:03 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd3-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: -100.002 X-Spam-Level: X-Spam-Status: No, score=-100.002 tagged_above=-999 required=6.31 tests=[RP_MATCHES_RCVD=-0.001, SPF_PASS=-0.001, USER_IN_WHITELIST=-100] autolearn=disabled Received: from mx1-lw-eu.apache.org ([10.40.0.8]) by localhost (spamd3-us-west.apache.org [10.40.0.10]) (amavisd-new, port 10024) with ESMTP id 6xtzdyfXPwNN for ; Mon, 19 Jun 2017 10:43:02 +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 65CB060E56 for ; Mon, 19 Jun 2017 10:43:01 +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 AAD30E0D48 for ; Mon, 19 Jun 2017 10:43:00 +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 21C9224002 for ; Mon, 19 Jun 2017 10:43:00 +0000 (UTC) Date: Mon, 19 Jun 2017 10:43:00 +0000 (UTC) From: "ASF GitHub Bot (JIRA)" To: commits@beam.apache.org Message-ID: In-Reply-To: References: Subject: [jira] [Commented] (BEAM-2439) Datastore writer can fail to progress if Datastore is slow MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 archived-at: Mon, 19 Jun 2017 10:43:05 -0000 [ https://issues.apache.org/jira/browse/BEAM-2439?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16053774#comment-16053774 ] ASF GitHub Bot commented on BEAM-2439: -------------------------------------- GitHub user cph6 opened a pull request: https://github.com/apache/beam/pull/3390 [BEAM-2439] Dynamic sizing of Datastore write RPCs This stops the Datastore connector from always sending 500 entities per RPC. Instead, it starts at a lower number which is more likely to complete within the deadline even in adverse conditions, and then increases or reduces the batch size in response to measured latency of past requests. You can merge this pull request into a Git repository by running: $ git pull https://github.com/cph6/beam datastore_batching Alternatively you can review and apply these changes as the patch at: https://github.com/apache/beam/pull/3390.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #3390 ---- commit 1967f0cc3e52a3b2948d449db4bdc6e5ba0a6bdf Author: Colin Phipps Date: 2017-05-15T14:18:16Z Dynamic batching of entity writes. This stops the Datastore connector from always sending 500 entities per RPC. Instead, it starts at a lower number which is more likely to complete within the deadline even in adverse conditions, and then increases or reduces the batch size in response to measured latency of past requests. ---- > Datastore writer can fail to progress if Datastore is slow > ---------------------------------------------------------- > > Key: BEAM-2439 > URL: https://issues.apache.org/jira/browse/BEAM-2439 > Project: Beam > Issue Type: Bug > Components: sdk-java-gcp > Reporter: Colin Phipps > Assignee: Stephen Sisk > Priority: Minor > Labels: datastore > > When writing to Datastore, Beam groups writes into large batches (usually 500 entities per write, the maximum permitted by the API). If these writes are slow to commit on the serving side, the request may time out before all of the entities are written. > When this happens, it loses any progress that has been made on those entities (the connector uses non-transactional writes, so some entities might have been written, but partial results are not returned to the connector so it has to assume that all entities need rewriting). It will retry the write with the same set of entities, which may time out in the same way repeatedly. This can be influenced by factors on the Datastore serving side, some of which are transient (hotspots) but some of which are not. > We (Datastore) are developing a fix for this. -- This message was sent by Atlassian JIRA (v6.4.14#64029)