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 06A04200C68 for ; Wed, 3 May 2017 20:33:09 +0200 (CEST) Received: by cust-asf.ponee.io (Postfix) id 0531F160BC5; Wed, 3 May 2017 18:33:09 +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 53839160BA1 for ; Wed, 3 May 2017 20:33:08 +0200 (CEST) Received: (qmail 35058 invoked by uid 500); 3 May 2017 18:33:07 -0000 Mailing-List: contact dev-help@geode.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@geode.apache.org Delivered-To: mailing list dev@geode.apache.org Received: (qmail 35014 invoked by uid 99); 3 May 2017 18:33:05 -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 18:33:05 +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 91B2EC3214 for ; Wed, 3 May 2017 18:33:05 +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 HYYXndXT3OrG for ; Wed, 3 May 2017 18:33:05 +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 B98EB5FB2C for ; Wed, 3 May 2017 18:33:04 +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 5DE05E0045 for ; Wed, 3 May 2017 18:33:04 +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 1AE5921B53 for ; Wed, 3 May 2017 18:33:04 +0000 (UTC) Date: Wed, 3 May 2017 18:33:04 +0000 (UTC) From: "Jason Huynh (JIRA)" To: dev@geode.apache.org Message-ID: In-Reply-To: References: Subject: [jira] [Updated] (GEODE-2870) BucketMovedException during function execution may lead to client missing results 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 18:33:09 -0000 [ https://issues.apache.org/jira/browse/GEODE-2870?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Jason Huynh updated GEODE-2870: ------------------------------- Affects Version/s: 1.0.0-incubating.M1 > BucketMovedException during function execution may lead to client missing results > --------------------------------------------------------------------------------- > > Key: GEODE-2870 > URL: https://issues.apache.org/jira/browse/GEODE-2870 > Project: Geode > Issue Type: Bug > Components: functions > Affects Versions: 1.1.0 > Reporter: Jason Huynh > Assignee: Jason Huynh > > If a function isHA and hasResult, if checkForBucketMovement() throws the BucketMovedException, this escapes the synchronized lastResult() method. Propogating this to through the user function. > Hopefully the user function does something appropriate or allows it to propagate to AbstractExecution.executeFunctionLocally(), which hands it to handleException. Here is where the exception is written back to the client. > However, because we have now escaped the synchronized method, the thread can be paused. > A remote execution returns with results and now enters the synchronized lastResult() method. The state flags have been set and now this result is considered the last result and lastResult is now sent. We end up not retrying even though the local node had failed. It just hadn't had the opportunity to send the exception back. -- This message was sent by Atlassian JIRA (v6.3.15#6346)