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 65D80200BB6 for ; Fri, 21 Oct 2016 00:44:26 +0200 (CEST) Received: by cust-asf.ponee.io (Postfix) id 6474A160AF2; Thu, 20 Oct 2016 22:44:26 +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 AC0CD160AE0 for ; Fri, 21 Oct 2016 00:44:25 +0200 (CEST) Received: (qmail 6135 invoked by uid 500); 20 Oct 2016 22:44:24 -0000 Mailing-List: contact dev-help@tephra.incubator.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@tephra.incubator.apache.org Delivered-To: mailing list dev@tephra.incubator.apache.org Received: (qmail 6123 invoked by uid 99); 20 Oct 2016 22:44:24 -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; Thu, 20 Oct 2016 22:44:24 +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 5A751180666 for ; Thu, 20 Oct 2016 22:44:24 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd3-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: -6.219 X-Spam-Level: X-Spam-Status: No, score=-6.219 tagged_above=-999 required=6.31 tests=[KAM_ASCII_DIVIDERS=0.8, KAM_LAZY_DOMAIN_SECURITY=1, RCVD_IN_DNSWL_HI=-5, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, RP_MATCHES_RCVD=-2.999] autolearn=disabled Received: from mx1-lw-us.apache.org ([10.40.0.8]) by localhost (spamd3-us-west.apache.org [10.40.0.10]) (amavisd-new, port 10024) with ESMTP id zZG4BK_e66fI for ; Thu, 20 Oct 2016 22:44:22 +0000 (UTC) Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by mx1-lw-us.apache.org (ASF Mail Server at mx1-lw-us.apache.org) with SMTP id DCCC45FBF0 for ; Thu, 20 Oct 2016 22:44:21 +0000 (UTC) Received: (qmail 3585 invoked by uid 99); 20 Oct 2016 22:43:59 -0000 Received: from arcas.apache.org (HELO arcas) (140.211.11.28) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 20 Oct 2016 22:43:59 +0000 Received: from arcas.apache.org (localhost [127.0.0.1]) by arcas (Postfix) with ESMTP id CEBEE2C0D54 for ; Thu, 20 Oct 2016 22:43:58 +0000 (UTC) Date: Thu, 20 Oct 2016 22:43:58 +0000 (UTC) From: "ASF GitHub Bot (JIRA)" To: dev@tephra.incubator.apache.org Message-ID: In-Reply-To: References: Subject: [jira] [Commented] (TEPHRA-194) Transaction client should not retry startShort() if an invalid timeout is given MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 archived-at: Thu, 20 Oct 2016 22:44:26 -0000 [ https://issues.apache.org/jira/browse/TEPHRA-194?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15593256#comment-15593256 ] ASF GitHub Bot commented on TEPHRA-194: --------------------------------------- Github user anew commented on a diff in the pull request: https://github.com/apache/incubator-tephra/pull/18#discussion_r84390730 --- Diff: tephra-core/src/test/java/org/apache/tephra/TransactionSystemTest.java --- @@ -33,25 +33,33 @@ */ public abstract class TransactionSystemTest { - public static final byte[] C1 = new byte[] { 'c', '1' }; - public static final byte[] C2 = new byte[] { 'c', '2' }; - public static final byte[] C3 = new byte[] { 'c', '3' }; - public static final byte[] C4 = new byte[] { 'c', '4' }; + private static final byte[] C1 = new byte[] { 'c', '1' }; + private static final byte[] C2 = new byte[] { 'c', '2' }; + private static final byte[] C3 = new byte[] { 'c', '3' }; + private static final byte[] C4 = new byte[] { 'c', '4' }; protected abstract TransactionSystemClient getClient() throws Exception; protected abstract TransactionStateStorage getStateStorage() throws Exception; - // Unfortunately, in-memory mode and thrift mode throw different exceptions here - @Test(expected = Exception.class) + @Test public void testNegativeTimeout() throws Exception { - getClient().startShort(-1); + try { + getClient().startShort(-1); + Assert.fail("Expected illegal argument for negative timeout"); + } catch (IllegalArgumentException e) { + // expected + } } - // Unfortunately, in-memory mode and thrift mode throw different exceptions here - @Test(expected = Exception.class) + @Test public void testExcessiveTimeout() throws Exception { - getClient().startShort((int) TimeUnit.DAYS.toSeconds(10)); + try { + getClient().startShort((int) TimeUnit.DAYS.toSeconds(10)); + Assert.fail("Expected illegal argument for excessive timeout"); + } catch (IllegalArgumentException e) { --- End diff -- same as above > Transaction client should not retry startShort() if an invalid timeout is given > -------------------------------------------------------------------------------- > > Key: TEPHRA-194 > URL: https://issues.apache.org/jira/browse/TEPHRA-194 > Project: Tephra > Issue Type: Bug > Components: client > Affects Versions: 0.9.0-incubating, 0.10.0-incubating > Reporter: Andreas Neumann > Assignee: Andreas Neumann > Fix For: 0.10.0-incubating > > > Currently, if an invalid timeout (negative, or too long) is given, the Tx manager throws an IllegalArgumentException. The thrift client will catch that and apply the retry strategy. However, in this case, retry is pointless, and if the strategy is, for example, exponential backoff, if introduces unneccessary load and latency. > The service should instead throw a meaningful exception for that, so that the client knows not to retry. -- This message was sent by Atlassian JIRA (v6.3.4#6332)