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 9E5EB200B38 for ; Fri, 24 Jun 2016 08:09:22 +0200 (CEST) Received: by cust-asf.ponee.io (Postfix) id 9CD0A160A68; Fri, 24 Jun 2016 06:09:22 +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 C06E4160A59 for ; Fri, 24 Jun 2016 08:09:21 +0200 (CEST) Received: (qmail 66125 invoked by uid 500); 24 Jun 2016 06:09:20 -0000 Mailing-List: contact dev-help@falcon.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@falcon.apache.org Delivered-To: mailing list dev@falcon.apache.org Received: (qmail 66114 invoked by uid 99); 24 Jun 2016 06:09:20 -0000 Received: from pnap-us-west-generic-nat.apache.org (HELO spamd2-us-west.apache.org) (209.188.14.142) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 24 Jun 2016 06:09:20 +0000 Received: from localhost (localhost [127.0.0.1]) by spamd2-us-west.apache.org (ASF Mail Server at spamd2-us-west.apache.org) with ESMTP id 145141A5751 for ; Fri, 24 Jun 2016 06:09:20 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd2-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: -5.446 X-Spam-Level: X-Spam-Status: No, score=-5.446 tagged_above=-999 required=6.31 tests=[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=-1.426] autolearn=disabled Received: from mx1-lw-eu.apache.org ([10.40.0.8]) by localhost (spamd2-us-west.apache.org [10.40.0.9]) (amavisd-new, port 10024) with ESMTP id JIYWdoqNKZoI for ; Fri, 24 Jun 2016 06:09:18 +0000 (UTC) Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by mx1-lw-eu.apache.org (ASF Mail Server at mx1-lw-eu.apache.org) with SMTP id 6D7AD5F4E3 for ; Fri, 24 Jun 2016 06:09:17 +0000 (UTC) Received: (qmail 65323 invoked by uid 99); 24 Jun 2016 06:09:16 -0000 Received: from arcas.apache.org (HELO arcas) (140.211.11.28) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 24 Jun 2016 06:09:16 +0000 Received: from arcas.apache.org (localhost [127.0.0.1]) by arcas (Postfix) with ESMTP id 72CDF2C1F6A for ; Fri, 24 Jun 2016 06:09:16 +0000 (UTC) Date: Fri, 24 Jun 2016 06:09:16 +0000 (UTC) From: "Balu Vellanki (JIRA)" To: dev@falcon.incubator.apache.org Message-ID: In-Reply-To: References: Subject: [jira] [Commented] (FALCON-2049) Feed Replication with Empty Directories are failing MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 archived-at: Fri, 24 Jun 2016 06:09:22 -0000 [ https://issues.apache.org/jira/browse/FALCON-2049?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15347773#comment-15347773 ] Balu Vellanki commented on FALCON-2049: --------------------------------------- This issue was introduced by https://issues.apache.org/jira/browse/FALCON-1844 where setDeleteMissing is set to true by default. Assume source dir is /tmp/source/${YEAR}/${MONTH}/${DAY} and target is /tmp/target/${YEAR}/${MONTH}/${DAY} Feed replication is triggered with DistCp being equivalent to following CLI distcp command {code} hadoop distcp -update -delete hdfs://c6401.ambari.apache.org:8020/tmp/source/1/2/3 hdfs://c6401.ambari.apache.org:8020/tmp/target/1/2/3/ {code} The following scenarios can occur, Case 1. Source dir is created but is empty, but availabilityFlag is created. Result : DistCp succeeds, hdfs://c6401.ambari.apache.org:8020/tmp/target/1/2/3/ is created and availabilityFlag is copies to target Case 2. Source dir is created and has files. Result : DistCp succeeds, hdfs://c6401.ambari.apache.org:8020/tmp/target/1/2/3/ is created and target dir has same files as sourceDir with same dir structure. Case 3. Source dir is created without any files and target dir is also created. Result : DistCp succeeds, both source and target have empty dirs. Case 4. Source dir is created but is empty, availabilityFlag is not created. Result : DistCp fails with error "Job commit failed: org.apache.hadoop.tools.CopyListing$InvalidInputException: hdfs://c6401.ambari.apache.org:8020/tmp/target/1/2/3 does not exist" There seems to be two solutions for this problem. 1. Return success when sourceDir has no files and targetDir is missing, thus avoiding Case 4 OR 2. Create targetDir and then attempt to DistCp. This will trigger Case 3 and replication job will succeed. I recommend option 2 because having an empty source/target dir is a valid use case for data directories. > Feed Replication with Empty Directories are failing > --------------------------------------------------- > > Key: FALCON-2049 > URL: https://issues.apache.org/jira/browse/FALCON-2049 > Project: Falcon > Issue Type: Bug > Components: feed > Affects Versions: 0.10 > Reporter: Murali Ramasami > Priority: Critical > Fix For: 0.10 > > > Feed Replication with empty directories are failing with the following error in application log: > {noformat} > 2016-06-23 08:35:21,475 INFO [eventHandlingThread] org.apache.hadoop.mapreduce.jobhistory.JobHistoryEventHandler: Moved tmp to done: hdfs://nat-os-r7-wkqu-falcon-multicluster-10.openstacklocal:8020/mr-history/tmp/hrt_qa/job_1466658266370_0059_conf.xml_tmp to hdfs://nat-os-r7-wkqu-falcon-multicluster-10.openstacklocal:8020/mr-history/tmp/hrt_qa/job_1466658266370_0059_conf.xml > 2016-06-23 08:35:21,476 INFO [eventHandlingThread] org.apache.hadoop.mapreduce.jobhistory.JobHistoryEventHandler: Moved tmp to done: hdfs://nat-os-r7-wkqu-falcon-multicluster-10.openstacklocal:8020/mr-history/tmp/hrt_qa/job_1466658266370_0059-1466670911340-hrt_qa-distcp%3A+oozie%3Aaction%3AT%3Djava%3AW%3DFALCON_FEED_REPLICAT-1466670921283-0-0-FAILED-default-1466670920070.jhist_tmp to hdfs://nat-os-r7-wkqu-falcon-multicluster-10.openstacklocal:8020/mr-history/tmp/hrt_qa/job_1466658266370_0059-1466670911340-hrt_qa-distcp%3A+oozie%3Aaction%3AT%3Djava%3AW%3DFALCON_FEED_REPLICAT-1466670921283-0-0-FAILED-default-1466670920070.jhist > 2016-06-23 08:35:21,477 INFO [Thread-66] org.apache.hadoop.mapreduce.jobhistory.JobHistoryEventHandler: Stopped JobHistoryEventHandler. super.stop() > 2016-06-23 08:35:21,479 INFO [Thread-66] org.apache.hadoop.mapreduce.v2.app.rm.RMCommunicator: Setting job diagnostics to No of maps and reduces are 0 job_1466658266370_0059 > Job commit failed: org.apache.hadoop.tools.CopyListing$InvalidInputException: hdfs://nat-os-r7-wkqu-falcon-multicluster-10.openstacklocal:8020/tmp/falcon-regression/FeedReplicationTest/target/2016/06/23/08/32 doesn't exist > at org.apache.hadoop.tools.GlobbedCopyListing.doBuildListing(GlobbedCopyListing.java:84) > at org.apache.hadoop.tools.CopyListing.buildListing(CopyListing.java:86) > at org.apache.hadoop.tools.mapred.CopyCommitter.deleteMissing(CopyCommitter.java:241) > at org.apache.hadoop.tools.mapred.CopyCommitter.commitJob(CopyCommitter.java:94) > at org.apache.hadoop.mapreduce.v2.app.commit.CommitterEventHandler$EventProcessor.handleJobCommit(CommitterEventHandler.java:285) > at org.apache.hadoop.mapreduce.v2.app.commit.CommitterEventHandler$EventProcessor.run(CommitterEventHandler.java:237) > at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) > at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) > at java.lang.Thread.run(Thread.java:745) > {noformat} > Feed submitted: > {noformat} > > > > > > > > availabilityFlag.txt > minutes(5) > > > > > > > > > > > > > > > > > > > > > > > > > > > > {noformat} > It is failing because of the target directories are not exists to replicate. -- This message was sent by Atlassian JIRA (v6.3.4#6332)