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 0EE48200BA6 for ; Tue, 18 Oct 2016 22:03:00 +0200 (CEST) Received: by cust-asf.ponee.io (Postfix) id 0D87F160AF7; Tue, 18 Oct 2016 20:03:00 +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 5D966160ACE for ; Tue, 18 Oct 2016 22:02:59 +0200 (CEST) Received: (qmail 96790 invoked by uid 500); 18 Oct 2016 20:02:58 -0000 Mailing-List: contact issues-help@hbase.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Delivered-To: mailing list issues@hbase.apache.org Received: (qmail 96759 invoked by uid 99); 18 Oct 2016 20:02:58 -0000 Received: from arcas.apache.org (HELO arcas) (140.211.11.28) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 18 Oct 2016 20:02:58 +0000 Received: from arcas.apache.org (localhost [127.0.0.1]) by arcas (Postfix) with ESMTP id 61B042C4C72 for ; Tue, 18 Oct 2016 20:02:58 +0000 (UTC) Date: Tue, 18 Oct 2016 20:02:58 +0000 (UTC) From: "Appy (JIRA)" To: issues@hbase.apache.org Message-ID: In-Reply-To: References: Subject: [jira] [Commented] (HBASE-16775) Flakey test with TestExportSnapshot#testExportRetry and TestMobExportSnapshot#testExportRetry MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 archived-at: Tue, 18 Oct 2016 20:03:00 -0000 [ https://issues.apache.org/jira/browse/HBASE-16775?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15586519#comment-15586519 ] Appy commented on HBASE-16775: ------------------------------ It'll be good to segregate all testing-only members in a separate class like this {noformat} static class Testing { final String CONF_TEST_FAILURE = "test.snapshot.export.failure"; final String CONF_TEST_RETRY = "test.snapshot.export.failure.retry"; final String TESTING_EXCEPTION_CREATED_FILENAME = "exceptionCreated"; } {noformat} Taking a step back, what are we trying to test here? To me v3 change looks like they are just testing this, if an exception is thrown from a mapper, then miniMRcluster should rerun the mapper. At least, we should do more verifications like in {{testExportFileSystemState(..)}} when testExportRetry() finishes. And in testExportFailure(), we should test that cleanup works. So maybe inject bogus files. Also, the fact that we inject failures in the very start, before doing any work doesn't sound a good way because when failures are thrown in real use cases, directories would have been created, files would have been written to some extent, etc. So it'd much better if we can, 1. instead of directly throwing exception, inject some kind of failure which makes the 'non-test-hook' throw exception 2. do it in later stages of copy. One such place is copyData() function, maybe add a few extra bytes on outStream so that source and dest sizes don't match in the end. > Flakey test with TestExportSnapshot#testExportRetry and TestMobExportSnapshot#testExportRetry > ---------------------------------------------------------------------------------------------- > > Key: HBASE-16775 > URL: https://issues.apache.org/jira/browse/HBASE-16775 > Project: HBase > Issue Type: Bug > Affects Versions: 2.0.0 > Reporter: huaxiang sun > Assignee: huaxiang sun > Attachments: HBASE-16775.master.001.patch, HBASE-16775.master.002.patch, HBASE-16775.master.003.patch, disable.patch > > > The root cause is that conf.setInt("mapreduce.map.maxattempts", 10) is not taken by the mapper job, so the retry is actually 0. Debugging to see why this is the case. -- This message was sent by Atlassian JIRA (v6.3.4#6332)