Return-Path: X-Original-To: apmail-hadoop-common-user-archive@www.apache.org Delivered-To: apmail-hadoop-common-user-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id C6F5218CEC for ; Wed, 15 Jul 2015 16:35:25 +0000 (UTC) Received: (qmail 36834 invoked by uid 500); 15 Jul 2015 16:35:20 -0000 Delivered-To: apmail-hadoop-common-user-archive@hadoop.apache.org Received: (qmail 36721 invoked by uid 500); 15 Jul 2015 16:35:20 -0000 Mailing-List: contact user-help@hadoop.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: user@hadoop.apache.org Delivered-To: mailing list user@hadoop.apache.org Received: (qmail 36709 invoked by uid 99); 15 Jul 2015 16:35:20 -0000 Received: from Unknown (HELO spamd1-us-west.apache.org) (209.188.14.142) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 15 Jul 2015 16:35:20 +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 2D5C1D4D1B for ; Wed, 15 Jul 2015 16:35:20 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd1-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: 4.673 X-Spam-Level: **** X-Spam-Status: No, score=4.673 tagged_above=-999 required=6.31 tests=[FSL_HELO_BARE_IP_2=1.674, HTML_MESSAGE=3, SPF_PASS=-0.001] autolearn=disabled Received: from mx1-us-west.apache.org ([10.40.0.8]) by localhost (spamd1-us-west.apache.org [10.40.0.7]) (amavisd-new, port 10024) with ESMTP id TYLzUGYBcMDC for ; Wed, 15 Jul 2015 16:35:19 +0000 (UTC) Received: from relayvx12c.securemail.intermedia.net (relayvx12c.securemail.intermedia.net [64.78.52.187]) by mx1-us-west.apache.org (ASF Mail Server at mx1-us-west.apache.org) with ESMTPS id EC13B22F2D for ; Wed, 15 Jul 2015 16:35:18 +0000 (UTC) Received: from securemail.intermedia.net (localhost [127.0.0.1]) by emg-ca-1-2.localdomain (Postfix) with ESMTP id 81FE353DC8 for ; Wed, 15 Jul 2015 09:35:18 -0700 (PDT) Subject: Re: HDFS ACL recursive not working for WEBHDFS REST API MIME-Version: 1.0 x-echoworx-emg-received: Wed, 15 Jul 2015 09:35:18.517 -0700 x-echoworx-msg-id: b9b777dd-e8f5-453b-a3ad-5281afcb2fe5 x-echoworx-action: delivered Received: from 10.254.155.17 ([10.254.155.17]) by emg-ca-1-2 (JAMES SMTP Server 2.3.2) with SMTP ID 285 for ; Wed, 15 Jul 2015 09:35:18 -0700 (PDT) Received: from MBX080-W4-CO-1.exch080.serverpod.net (unknown [10.224.117.101]) by emg-ca-1-2.localdomain (Postfix) with ESMTP id 50ED153DC8 for ; Wed, 15 Jul 2015 09:35:18 -0700 (PDT) Received: from MBX080-W4-CO-2.exch080.serverpod.net (10.224.117.102) by MBX080-W4-CO-1.exch080.serverpod.net (10.224.117.101) with Microsoft SMTP Server (TLS) id 15.0.1044.25; Wed, 15 Jul 2015 09:35:17 -0700 Received: from MBX080-W4-CO-2.exch080.serverpod.net ([10.224.117.102]) by mbx080-w4-co-2.exch080.serverpod.net ([10.224.117.102]) with mapi id 15.00.1044.021; Wed, 15 Jul 2015 09:35:17 -0700 From: Chris Nauroth To: "user@hadoop.apache.org" Thread-Topic: HDFS ACL recursive not working for WEBHDFS REST API Thread-Index: AQHQvtDDBUSgEZOvgkuHyPjp5ZnLD53cutEA Date: Wed, 15 Jul 2015 16:35:16 +0000 Message-ID: References: In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-exchange-transport-fromentityheader: Hosted x-originating-ip: [50.181.140.32] x-source-routing-agent: Processed Content-Type: multipart/alternative; boundary="_000_D1CBD8A7270C0cnaurothhortonworkscom_" --_000_D1CBD8A7270C0cnaurothhortonworkscom_ Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Hello Kumar, The WebHDFS REST API does not support recursive=3Dtrue for the ACL operatio= ns. In general, recursive operations are driven by the Hadoop FsShell or s= ome other client application and not the HDFS server side. If you use the = FsShell with a webhdfs:// URL and the -R option, then you will achieve a re= cursive setfacl through WebHDFS. However, this is implemented as the clien= t sending multiple HTTP requests to WebHDFS, not as a single HTTP call that= performs recursion on the NameNode server side. This is a design choice t= hat helps control system load, so that the NameNode does not incur excessiv= e locking and tie up handler threads doing recursive operations on a large = sub-tree of the file system. --Chris Nauroth From: kumar r > Reply-To: "user@hadoop.apache.org" > Date: Wednesday, July 15, 2015 at 12:31 AM To: "user@hadoop.apache.org" > Subject: HDFS ACL recursive not working for WEBHDFS REST API Working on Hadoop-2.6.0, enabled HDFS ACLs. When trying through command lin= e, recursive -R working correctly but when using REST API, its not working hadoop fs -setfacl -x -R default:group:HadoopUsers /test1 The above command working correctly but when trying with REST API, recursiv= e not working. ACL removed only for specified directory "test1" but not for= sub directories. curl -i -X PUT "http://:/webhdfs/v1/test1?op=3DREMOVEACLENTRIES= &aclspec=3Ddefault:group:HadoopUsers:&recursive=3Dtrue Do i missed anything? How to use recursive in REST API? --_000_D1CBD8A7270C0cnaurothhortonworkscom_ Content-Type: text/html; charset="us-ascii" Content-ID: Content-Transfer-Encoding: quoted-printable
Hello Kumar,

The WebHDFS REST API does not support recursive=3Dtrue for the ACL ope= rations.  In general, recursive operations are driven by the Hadoop Fs= Shell or some other client application and not the HDFS server side.  = If you use the FsShell with a webhdfs:// URL and the -R option, then you will achieve a recursive setfacl through WebHD= FS.  However, this is implemented as the client sending multiple HTTP = requests to WebHDFS, not as a single HTTP call that performs recursion on t= he NameNode server side.  This is a design choice that helps control system load, so that the NameNode does not incur= excessive locking and tie up handler threads doing recursive operations on= a large sub-tree of the file system.

--Chris Nauroth

From: kumar r <kumarlearner@gmail.com>
Reply-To: "user@hadoop.apache.org" <user@hadoop.apache.org>
Date: Wednesday, July 15, 2015 at 1= 2:31 AM
To: "user@hadoop.apache.org" <user@hadoop.apache.org>
Subject: HDFS ACL recursive not wor= king for WEBHDFS REST API

Working on Hadoop-2.6.0, enabled HDFS ACLs. When trying th= rough command line, recursive -R working correctly but when using REST API,= its not working

hadoop fs -setfacl -x -R default:group:HadoopUsers /test1

The above command working correctly but when trying with REST API, recursiv= e not working. ACL removed only for specified directory "test1" b= ut not for sub directories.

curl -i -X PUT "http://<HOST>:<PORT>/webhdfs/v1/=
test1?op=3DREMOVEACLENTRIES&aclspec=3Ddefault:group:HadoopUsers:&re=
cursive=3Dtrue
Do i missed anything? How to use recursive in REST API?


--_000_D1CBD8A7270C0cnaurothhortonworkscom_--