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 5BF6A200C17 for ; Fri, 10 Feb 2017 20:52:46 +0100 (CET) Received: by cust-asf.ponee.io (Postfix) id 5A727160B69; Fri, 10 Feb 2017 19:52:46 +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 AA465160B4E for ; Fri, 10 Feb 2017 20:52:45 +0100 (CET) Received: (qmail 58986 invoked by uid 500); 10 Feb 2017 19:52:44 -0000 Mailing-List: contact notifications-help@accumulo.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: jira@apache.org Delivered-To: mailing list notifications@accumulo.apache.org Received: (qmail 58971 invoked by uid 99); 10 Feb 2017 19:52:44 -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; Fri, 10 Feb 2017 19:52:44 +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 56E73C1328 for ; Fri, 10 Feb 2017 19:52:44 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd1-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: -1.999 X-Spam-Level: X-Spam-Status: No, score=-1.999 tagged_above=-999 required=6.31 tests=[KAM_LAZY_DOMAIN_SECURITY=1, RP_MATCHES_RCVD=-2.999] 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 IO-cMpsDMRq8 for ; Fri, 10 Feb 2017 19:52:43 +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 269925F39F for ; Fri, 10 Feb 2017 19:52:43 +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 59C5FE04A8 for ; Fri, 10 Feb 2017 19:52:42 +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 BBE7A21D68 for ; Fri, 10 Feb 2017 19:52:41 +0000 (UTC) Date: Fri, 10 Feb 2017 19:52:41 +0000 (UTC) From: "Josh Elser (JIRA)" To: notifications@accumulo.apache.org Message-ID: In-Reply-To: References: Subject: [jira] [Commented] (ACCUMULO-4533) TraceServer should not abort if trace table exists MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 archived-at: Fri, 10 Feb 2017 19:52:46 -0000 [ https://issues.apache.org/jira/browse/ACCUMULO-4533?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15861765#comment-15861765 ] Josh Elser commented on ACCUMULO-4533: -------------------------------------- bq. We should be able to tell whether the failure is temporal and we should retry, in the case of the master not yet running, or if the failure is permanent and there's no chance of success, like if the tracer credentials are insufficient to create a table. Agreed. We should be able to do this. You don't happen to have the error message anymore, do you? Can try to look at it over the weekend.. > TraceServer should not abort if trace table exists > -------------------------------------------------- > > Key: ACCUMULO-4533 > URL: https://issues.apache.org/jira/browse/ACCUMULO-4533 > Project: Accumulo > Issue Type: Bug > Components: trace > Affects Versions: 1.7.1, 1.7.2, 1.8.0 > Environment: impacts 1.7.0-1.7.2, 1.8.0 > Reporter: Sean Busbey > Assignee: Sean Busbey > Fix For: 1.7.3, 1.8.2, 2.0.0 > > Attachments: ACCUMULO-4533-1.7.v1.patch, ACCUMULO-4533-1.7.v2.patch > > Time Spent: 0.5h > Remaining Estimate: 0h > > h3. description > On start up, the TraceServer attempts to ensure that the trace table exists. > {code} > connector = serverConfiguration.getInstance().getConnector(principal, at); > if (!connector.tableOperations().exists(tableName)) { > connector.tableOperations().create(tableName); > IteratorSetting setting = new IteratorSetting(10, "ageoff", AgeOffFilter.class.getName()); > AgeOffFilter.setTTL(setting, 7 * 24 * 60 * 60 * 1000l); > connector.tableOperations().attachIterator(tableName, setting); > } > {code} > The race condition between checking existence and creating the table ought not matter, since we're in a big loop that is supposed to retry on any problems. > However, that loop expressly catches {{RuntimeException}} and {{TableExistsException}} is not a {{RuntimeException}} so currently the exception propagates and kills the server. > h3. workaround > restart any failed trace servers, since the one that won the race condition should have finished set up properly. > alternatively, manually create the trace table prior to starting any trace servers. -- This message was sent by Atlassian JIRA (v6.3.15#6346)