[jira] [Updated] (HDFS-6606) Optimize HDFS Encrypted Transport performance

2014-09-24 Thread Yi Liu (JIRA)

 [ 
https://issues.apache.org/jira/browse/HDFS-6606?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Yi Liu updated HDFS-6606:
-
Attachment: HDFS-6606.007.patch

Update patch to address all comments.

 Optimize HDFS Encrypted Transport performance
 -

 Key: HDFS-6606
 URL: https://issues.apache.org/jira/browse/HDFS-6606
 Project: Hadoop HDFS
  Issue Type: Improvement
  Components: datanode, hdfs-client, security
Reporter: Yi Liu
Assignee: Yi Liu
 Attachments: HDFS-6606.001.patch, HDFS-6606.002.patch, 
 HDFS-6606.003.patch, HDFS-6606.004.patch, HDFS-6606.005.patch, 
 HDFS-6606.006.patch, HDFS-6606.007.patch, 
 OptimizeHdfsEncryptedTransportperformance.pdf


 In HDFS-3637, [~atm] added support for encrypting the DataTransferProtocol, 
 it was a great work.
 It utilizes SASL {{Digest-MD5}} mechanism (use Qop: auth-conf),  it supports 
 three security strength:
 * high  3des   or rc4 (128bits)
 * medium des or rc4(56bits)
 * low   rc4(40bits)
 3des and rc4 are slow, only *tens of MB/s*, 
 http://www.javamex.com/tutorials/cryptography/ciphers.shtml
 http://www.cs.wustl.edu/~jain/cse567-06/ftp/encryption_perf/
 I will give more detailed performance data in future. Absolutely it’s 
 bottleneck and will vastly affect the end to end performance. 
 AES(Advanced Encryption Standard) is recommended as a replacement of DES, 
 it’s more secure; with AES-NI support, the throughput can reach nearly 
 *2GB/s*, it won’t be the bottleneck any more, AES and CryptoCodec work is 
 supported in HADOOP-10150, HADOOP-10603 and HADOOP-10693 (We may need to add 
 a new mode support for AES). 
 This JIRA will use AES with AES-NI support as encryption algorithm for 
 DataTransferProtocol.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (HDFS-7122) Very poor distribution of replication copies

2014-09-24 Thread Jeff Buell (JIRA)

[ 
https://issues.apache.org/jira/browse/HDFS-7122?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14145982#comment-14145982
 ] 

Jeff Buell commented on HDFS-7122:
--

 Yi, yes I ran it many times tweaking various things to try to get a good 
distribution.  Although there was some variation, it was always much worse than 
before.

 Very poor distribution of replication copies
 

 Key: HDFS-7122
 URL: https://issues.apache.org/jira/browse/HDFS-7122
 Project: Hadoop HDFS
  Issue Type: Bug
  Components: namenode
Affects Versions: 2.3.0
 Environment: medium-large environments with 100's to 1000's of DNs 
 will be most affected, but potentially all environments.
Reporter: Jeff Buell
Assignee: Andrew Wang
Priority: Blocker
  Labels: performance

 Summary:
 Since HDFS-6268, the distribution of replica block copies across the 
 DataNodes (replicas 2,3,... as distinguished from the first primary 
 replica) is extremely poor, to the point that TeraGen slows down by as much 
 as 3X for certain configurations.  This is almost certainly due to the 
 introduction of Thread Local Random in HDFS-6268.  The mechanism appears to 
 be that this change causes all the random numbers in the threads to be 
 correlated, thus preventing a truly random choice of DN for each replica copy.
 Testing details:
 1 TB TeraGen on 638 slave nodes (virtual machines on 32 physical hosts), 
 256MB block size.  This results in 6 primary blocks on each DN.  With 
 replication=3, there will be on average 12 more copies on each DN that are 
 copies of blocks from other DNs.  Because of the random selection of DNs, 
 exactly 12 copies are not expected, but I found that about 160 DNs (1/4 of 
 all DNs!) received absolutely no copies, while one DN received over 100 
 copies, and the elapsed time increased by about 3X from a pre-HDFS-6268 
 distro.  There was no pattern to which DNs didn't receive copies, nor was the 
 set of such DNs repeatable run-to-run. In addition to the performance 
 problem, there could be capacity problems due to one or a few DNs running out 
 of space. Testing was done on CDH 5.0.0 (before) and CDH 5.1.2 (after), but I 
 don't see a significant difference from the Apache Hadoop source in this 
 regard. The workaround to recover the previous behavior is to set 
 dfs.namenode.handler.count=1 but of course this has scaling implications for 
 large clusters.
 I recommend that the ThreadLocal Random part of HDFS-6268 be reverted until a 
 better algorithm can be implemented and tested.  Testing should include a 
 case with many DNs and a small number of blocks on each.
 It should also be noted that even pre-HDFS-6268, the random choice of DN 
 algorithm produces a rather non-uniform distribution of copies.  This is not 
 due to any bug, but purely a case of random distributions being much less 
 uniform than one might intuitively expect. In the above case, pre-HDFS-6268 
 yields something like a range of 3 to 25 block copies on each DN. 
 Surprisingly, the performance penalty of this non-uniformity is not as big as 
 might be expected (maybe only 10-20%), but HDFS should do better, and in any 
 case the capacity issue remains.  Round-robin choice of DN?  Better awareness 
 of which DNs currently store fewer blocks? It's not sufficient that the total 
 number of blocks is similar on each DN at the end, but that at each point in 
 time no individual DN receives a disproportionate number of blocks at once 
 (which could be a danger of a RR algorithm).
 Probably should limit this jira to tracking the ThreadLocal issue, and track 
 the random choice issue in another one.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Updated] (HDFS-6994) libhdfs3 - A native C/C++ HDFS client

2014-09-24 Thread Zhanwei Wang (JIRA)

 [ 
https://issues.apache.org/jira/browse/HDFS-6994?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Zhanwei Wang updated HDFS-6994:
---
Issue Type: New Feature  (was: Task)

 libhdfs3 - A native C/C++ HDFS client
 -

 Key: HDFS-6994
 URL: https://issues.apache.org/jira/browse/HDFS-6994
 Project: Hadoop HDFS
  Issue Type: New Feature
  Components: hdfs-client
Reporter: Zhanwei Wang
 Attachments: HDFS-6994-rpc-8.patch, HDFS-6994.patch


 Hi All
 I just got the permission to open source libhdfs3, which is a native C/C++ 
 HDFS client based on Hadoop RPC protocol and HDFS Data Transfer Protocol.
 libhdfs3 provide the libhdfs style C interface and a C++ interface. Support 
 both HADOOP RPC version 8 and 9. Support Namenode HA and Kerberos 
 authentication.
 libhdfs3 is currently used by HAWQ of Pivotal
 I'd like to integrate libhdfs3 into HDFS source code to benefit others.
 You can find libhdfs3 code from github
 https://github.com/PivotalRD/libhdfs3
 http://pivotalrd.github.io/libhdfs3/



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (HDFS-6534) Fix build on macosx: HDFS parts

2014-09-24 Thread Hadoop QA (JIRA)

[ 
https://issues.apache.org/jira/browse/HDFS-6534?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14145999#comment-14145999
 ] 

Hadoop QA commented on HDFS-6534:
-

{color:red}-1 overall{color}.  Here are the results of testing the latest 
attachment 
  http://issues.apache.org/jira/secure/attachment/12670893/HDFS-6534.v3.patch
  against trunk revision ef784a2.

{color:green}+1 @author{color}.  The patch does not contain any @author 
tags.

{color:green}+1 tests included{color}.  The patch appears to include 3 new 
or modified test files.

{color:green}+1 javac{color}.  The applied patch does not increase the 
total number of javac compiler warnings.

{color:green}+1 javadoc{color}.  There were no new javadoc warning messages.

{color:green}+1 eclipse:eclipse{color}.  The patch built with 
eclipse:eclipse.

{color:green}+1 findbugs{color}.  The patch does not introduce any new 
Findbugs (version 2.0.3) warnings.

{color:green}+1 release audit{color}.  The applied patch does not increase 
the total number of release audit warnings.

{color:red}-1 core tests{color}.  The patch failed these unit tests in 
hadoop-hdfs-project/hadoop-hdfs:

  org.apache.hadoop.hdfs.TestEncryptionZonesWithKMS
  
org.apache.hadoop.hdfs.server.namenode.ha.TestPipelinesFailover

{color:green}+1 contrib tests{color}.  The patch passed contrib unit tests.

Test results: 
https://builds.apache.org/job/PreCommit-HDFS-Build/8177//testReport/
Console output: https://builds.apache.org/job/PreCommit-HDFS-Build/8177//console

This message is automatically generated.

 Fix build on macosx: HDFS parts
 ---

 Key: HDFS-6534
 URL: https://issues.apache.org/jira/browse/HDFS-6534
 Project: Hadoop HDFS
  Issue Type: Bug
Reporter: Binglin Chang
Assignee: Binglin Chang
Priority: Minor
 Attachments: HDFS-6534.v1.patch, HDFS-6534.v2.patch, 
 HDFS-6534.v3.patch


 When compiling native code on macosx using clang, compiler find more warning 
 and errors which gcc ignores, those should be fixed.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (HDFS-7122) Very poor distribution of replication copies

2014-09-24 Thread Tsz Wo Nicholas Sze (JIRA)

[ 
https://issues.apache.org/jira/browse/HDFS-7122?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14146009#comment-14146009
 ] 

Tsz Wo Nicholas Sze commented on HDFS-7122:
---

Hi [~hitliuyi], one problem is that we are not yet sure how to fix the bug. Why 
not reverting HDFS-6268 and redo it in a right way?  Reverting a patch is not a 
big deal.  It is a quick and effective way to fix a newly introduced bug.

 Very poor distribution of replication copies
 

 Key: HDFS-7122
 URL: https://issues.apache.org/jira/browse/HDFS-7122
 Project: Hadoop HDFS
  Issue Type: Bug
  Components: namenode
Affects Versions: 2.3.0
 Environment: medium-large environments with 100's to 1000's of DNs 
 will be most affected, but potentially all environments.
Reporter: Jeff Buell
Assignee: Andrew Wang
Priority: Blocker
  Labels: performance

 Summary:
 Since HDFS-6268, the distribution of replica block copies across the 
 DataNodes (replicas 2,3,... as distinguished from the first primary 
 replica) is extremely poor, to the point that TeraGen slows down by as much 
 as 3X for certain configurations.  This is almost certainly due to the 
 introduction of Thread Local Random in HDFS-6268.  The mechanism appears to 
 be that this change causes all the random numbers in the threads to be 
 correlated, thus preventing a truly random choice of DN for each replica copy.
 Testing details:
 1 TB TeraGen on 638 slave nodes (virtual machines on 32 physical hosts), 
 256MB block size.  This results in 6 primary blocks on each DN.  With 
 replication=3, there will be on average 12 more copies on each DN that are 
 copies of blocks from other DNs.  Because of the random selection of DNs, 
 exactly 12 copies are not expected, but I found that about 160 DNs (1/4 of 
 all DNs!) received absolutely no copies, while one DN received over 100 
 copies, and the elapsed time increased by about 3X from a pre-HDFS-6268 
 distro.  There was no pattern to which DNs didn't receive copies, nor was the 
 set of such DNs repeatable run-to-run. In addition to the performance 
 problem, there could be capacity problems due to one or a few DNs running out 
 of space. Testing was done on CDH 5.0.0 (before) and CDH 5.1.2 (after), but I 
 don't see a significant difference from the Apache Hadoop source in this 
 regard. The workaround to recover the previous behavior is to set 
 dfs.namenode.handler.count=1 but of course this has scaling implications for 
 large clusters.
 I recommend that the ThreadLocal Random part of HDFS-6268 be reverted until a 
 better algorithm can be implemented and tested.  Testing should include a 
 case with many DNs and a small number of blocks on each.
 It should also be noted that even pre-HDFS-6268, the random choice of DN 
 algorithm produces a rather non-uniform distribution of copies.  This is not 
 due to any bug, but purely a case of random distributions being much less 
 uniform than one might intuitively expect. In the above case, pre-HDFS-6268 
 yields something like a range of 3 to 25 block copies on each DN. 
 Surprisingly, the performance penalty of this non-uniformity is not as big as 
 might be expected (maybe only 10-20%), but HDFS should do better, and in any 
 case the capacity issue remains.  Round-robin choice of DN?  Better awareness 
 of which DNs currently store fewer blocks? It's not sufficient that the total 
 number of blocks is similar on each DN at the end, but that at each point in 
 time no individual DN receives a disproportionate number of blocks at once 
 (which could be a danger of a RR algorithm).
 Probably should limit this jira to tracking the ThreadLocal issue, and track 
 the random choice issue in another one.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (HDFS-6606) Optimize HDFS Encrypted Transport performance

2014-09-24 Thread Hadoop QA (JIRA)

[ 
https://issues.apache.org/jira/browse/HDFS-6606?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14146062#comment-14146062
 ] 

Hadoop QA commented on HDFS-6606:
-

{color:red}-1 overall{color}.  Here are the results of testing the latest 
attachment 
  http://issues.apache.org/jira/secure/attachment/12670913/HDFS-6606.007.patch
  against trunk revision ef784a2.

{color:green}+1 @author{color}.  The patch does not contain any @author 
tags.

{color:green}+1 tests included{color}.  The patch appears to include 1 new 
or modified test files.

{color:green}+1 javac{color}.  The applied patch does not increase the 
total number of javac compiler warnings.

{color:green}+1 javadoc{color}.  There were no new javadoc warning messages.

{color:green}+1 eclipse:eclipse{color}.  The patch built with 
eclipse:eclipse.

{color:red}-1 findbugs{color}.  The patch appears to introduce 1 new 
Findbugs (version 2.0.3) warnings.

{color:green}+1 release audit{color}.  The applied patch does not increase 
the total number of release audit warnings.

{color:red}-1 core tests{color}.  The patch failed these unit tests in 
hadoop-common-project/hadoop-common hadoop-hdfs-project/hadoop-hdfs:

  org.apache.hadoop.crypto.random.TestOsSecureRandom
  
org.apache.hadoop.security.token.delegation.web.TestWebDelegationToken
  org.apache.hadoop.hdfs.web.TestWebHdfsFileSystemContract

  The following test timeouts occurred in 
hadoop-common-project/hadoop-common hadoop-hdfs-project/hadoop-hdfs:

org.apache.hadoop.hdfs.TestDecommission

{color:green}+1 contrib tests{color}.  The patch passed contrib unit tests.

Test results: 
https://builds.apache.org/job/PreCommit-HDFS-Build/8180//testReport/
Findbugs warnings: 
https://builds.apache.org/job/PreCommit-HDFS-Build/8180//artifact/PreCommit-HADOOP-Build-patchprocess/newPatchFindbugsWarningshadoop-common.html
Console output: https://builds.apache.org/job/PreCommit-HDFS-Build/8180//console

This message is automatically generated.

 Optimize HDFS Encrypted Transport performance
 -

 Key: HDFS-6606
 URL: https://issues.apache.org/jira/browse/HDFS-6606
 Project: Hadoop HDFS
  Issue Type: Improvement
  Components: datanode, hdfs-client, security
Reporter: Yi Liu
Assignee: Yi Liu
 Attachments: HDFS-6606.001.patch, HDFS-6606.002.patch, 
 HDFS-6606.003.patch, HDFS-6606.004.patch, HDFS-6606.005.patch, 
 HDFS-6606.006.patch, HDFS-6606.007.patch, 
 OptimizeHdfsEncryptedTransportperformance.pdf


 In HDFS-3637, [~atm] added support for encrypting the DataTransferProtocol, 
 it was a great work.
 It utilizes SASL {{Digest-MD5}} mechanism (use Qop: auth-conf),  it supports 
 three security strength:
 * high  3des   or rc4 (128bits)
 * medium des or rc4(56bits)
 * low   rc4(40bits)
 3des and rc4 are slow, only *tens of MB/s*, 
 http://www.javamex.com/tutorials/cryptography/ciphers.shtml
 http://www.cs.wustl.edu/~jain/cse567-06/ftp/encryption_perf/
 I will give more detailed performance data in future. Absolutely it’s 
 bottleneck and will vastly affect the end to end performance. 
 AES(Advanced Encryption Standard) is recommended as a replacement of DES, 
 it’s more secure; with AES-NI support, the throughput can reach nearly 
 *2GB/s*, it won’t be the bottleneck any more, AES and CryptoCodec work is 
 supported in HADOOP-10150, HADOOP-10603 and HADOOP-10693 (We may need to add 
 a new mode support for AES). 
 This JIRA will use AES with AES-NI support as encryption algorithm for 
 DataTransferProtocol.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (HDFS-7081) Add new DistributedFileSystem API for getting all the existing storage policies

2014-09-24 Thread Hadoop QA (JIRA)

[ 
https://issues.apache.org/jira/browse/HDFS-7081?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14146061#comment-14146061
 ] 

Hadoop QA commented on HDFS-7081:
-

{color:red}-1 overall{color}.  Here are the results of testing the latest 
attachment 
  http://issues.apache.org/jira/secure/attachment/12670902/HDFS-7081.004.patch
  against trunk revision ef784a2.

{color:green}+1 @author{color}.  The patch does not contain any @author 
tags.

{color:green}+1 tests included{color}.  The patch appears to include 4 new 
or modified test files.

{color:green}+1 javac{color}.  The applied patch does not increase the 
total number of javac compiler warnings.

{color:green}+1 javadoc{color}.  There were no new javadoc warning messages.

{color:green}+1 eclipse:eclipse{color}.  The patch built with 
eclipse:eclipse.

{color:green}+1 findbugs{color}.  The patch does not introduce any new 
Findbugs (version 2.0.3) warnings.

{color:green}+1 release audit{color}.  The applied patch does not increase 
the total number of release audit warnings.

{color:red}-1 core tests{color}.  The patch failed these unit tests in 
hadoop-hdfs-project/hadoop-hdfs:

  org.apache.hadoop.hdfs.web.TestWebHdfsFileSystemContract
  org.apache.hadoop.hdfs.TestEncryptionZonesWithKMS
  
org.apache.hadoop.hdfs.server.namenode.ha.TestPipelinesFailover
  org.apache.hadoop.hdfs.TestDFSFinalize

  The following test timeouts occurred in 
hadoop-hdfs-project/hadoop-hdfs:

org.apache.hadoop.hdfs.TestDecommission

{color:green}+1 contrib tests{color}.  The patch passed contrib unit tests.

Test results: 
https://builds.apache.org/job/PreCommit-HDFS-Build/8179//testReport/
Console output: https://builds.apache.org/job/PreCommit-HDFS-Build/8179//console

This message is automatically generated.

 Add new DistributedFileSystem API for getting all the existing storage 
 policies
 ---

 Key: HDFS-7081
 URL: https://issues.apache.org/jira/browse/HDFS-7081
 Project: Hadoop HDFS
  Issue Type: Sub-task
  Components: balancer, namenode
Reporter: Jing Zhao
Assignee: Jing Zhao
 Attachments: HDFS-7081.000.patch, HDFS-7081.001.patch, 
 HDFS-7081.002.patch, HDFS-7081.003.patch, HDFS-7081.004.patch


 Instead of loading all the policies from a client side configuration file, it 
 may be better to provide Mover with a new RPC call for getting all the 
 storage policies from the namenode.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (HDFS-7122) Very poor distribution of replication copies

2014-09-24 Thread Yi Liu (JIRA)

[ 
https://issues.apache.org/jira/browse/HDFS-7122?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14146064#comment-14146064
 ] 

Yi Liu commented on HDFS-7122:
--

Agree with your point for reverting it, thanks [~szetszwo]. 

 Very poor distribution of replication copies
 

 Key: HDFS-7122
 URL: https://issues.apache.org/jira/browse/HDFS-7122
 Project: Hadoop HDFS
  Issue Type: Bug
  Components: namenode
Affects Versions: 2.3.0
 Environment: medium-large environments with 100's to 1000's of DNs 
 will be most affected, but potentially all environments.
Reporter: Jeff Buell
Assignee: Andrew Wang
Priority: Blocker
  Labels: performance

 Summary:
 Since HDFS-6268, the distribution of replica block copies across the 
 DataNodes (replicas 2,3,... as distinguished from the first primary 
 replica) is extremely poor, to the point that TeraGen slows down by as much 
 as 3X for certain configurations.  This is almost certainly due to the 
 introduction of Thread Local Random in HDFS-6268.  The mechanism appears to 
 be that this change causes all the random numbers in the threads to be 
 correlated, thus preventing a truly random choice of DN for each replica copy.
 Testing details:
 1 TB TeraGen on 638 slave nodes (virtual machines on 32 physical hosts), 
 256MB block size.  This results in 6 primary blocks on each DN.  With 
 replication=3, there will be on average 12 more copies on each DN that are 
 copies of blocks from other DNs.  Because of the random selection of DNs, 
 exactly 12 copies are not expected, but I found that about 160 DNs (1/4 of 
 all DNs!) received absolutely no copies, while one DN received over 100 
 copies, and the elapsed time increased by about 3X from a pre-HDFS-6268 
 distro.  There was no pattern to which DNs didn't receive copies, nor was the 
 set of such DNs repeatable run-to-run. In addition to the performance 
 problem, there could be capacity problems due to one or a few DNs running out 
 of space. Testing was done on CDH 5.0.0 (before) and CDH 5.1.2 (after), but I 
 don't see a significant difference from the Apache Hadoop source in this 
 regard. The workaround to recover the previous behavior is to set 
 dfs.namenode.handler.count=1 but of course this has scaling implications for 
 large clusters.
 I recommend that the ThreadLocal Random part of HDFS-6268 be reverted until a 
 better algorithm can be implemented and tested.  Testing should include a 
 case with many DNs and a small number of blocks on each.
 It should also be noted that even pre-HDFS-6268, the random choice of DN 
 algorithm produces a rather non-uniform distribution of copies.  This is not 
 due to any bug, but purely a case of random distributions being much less 
 uniform than one might intuitively expect. In the above case, pre-HDFS-6268 
 yields something like a range of 3 to 25 block copies on each DN. 
 Surprisingly, the performance penalty of this non-uniformity is not as big as 
 might be expected (maybe only 10-20%), but HDFS should do better, and in any 
 case the capacity issue remains.  Round-robin choice of DN?  Better awareness 
 of which DNs currently store fewer blocks? It's not sufficient that the total 
 number of blocks is similar on each DN at the end, but that at each point in 
 time no individual DN receives a disproportionate number of blocks at once 
 (which could be a danger of a RR algorithm).
 Probably should limit this jira to tracking the ThreadLocal issue, and track 
 the random choice issue in another one.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (HDFS-7122) Very poor distribution of replication copies

2014-09-24 Thread Yi Liu (JIRA)

[ 
https://issues.apache.org/jira/browse/HDFS-7122?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14146079#comment-14146079
 ] 

Yi Liu commented on HDFS-7122:
--

Actually before [~jcb] confirms the blocks distributions are always bad, I have 
concern if the issue existed and was random even before HDFS-6268 since 
{{java.util.Random}} is not good enough. 
Now agree to revert it since it seems an issue after HDFS-6268 and we fix it 
later.

 Very poor distribution of replication copies
 

 Key: HDFS-7122
 URL: https://issues.apache.org/jira/browse/HDFS-7122
 Project: Hadoop HDFS
  Issue Type: Bug
  Components: namenode
Affects Versions: 2.3.0
 Environment: medium-large environments with 100's to 1000's of DNs 
 will be most affected, but potentially all environments.
Reporter: Jeff Buell
Assignee: Andrew Wang
Priority: Blocker
  Labels: performance

 Summary:
 Since HDFS-6268, the distribution of replica block copies across the 
 DataNodes (replicas 2,3,... as distinguished from the first primary 
 replica) is extremely poor, to the point that TeraGen slows down by as much 
 as 3X for certain configurations.  This is almost certainly due to the 
 introduction of Thread Local Random in HDFS-6268.  The mechanism appears to 
 be that this change causes all the random numbers in the threads to be 
 correlated, thus preventing a truly random choice of DN for each replica copy.
 Testing details:
 1 TB TeraGen on 638 slave nodes (virtual machines on 32 physical hosts), 
 256MB block size.  This results in 6 primary blocks on each DN.  With 
 replication=3, there will be on average 12 more copies on each DN that are 
 copies of blocks from other DNs.  Because of the random selection of DNs, 
 exactly 12 copies are not expected, but I found that about 160 DNs (1/4 of 
 all DNs!) received absolutely no copies, while one DN received over 100 
 copies, and the elapsed time increased by about 3X from a pre-HDFS-6268 
 distro.  There was no pattern to which DNs didn't receive copies, nor was the 
 set of such DNs repeatable run-to-run. In addition to the performance 
 problem, there could be capacity problems due to one or a few DNs running out 
 of space. Testing was done on CDH 5.0.0 (before) and CDH 5.1.2 (after), but I 
 don't see a significant difference from the Apache Hadoop source in this 
 regard. The workaround to recover the previous behavior is to set 
 dfs.namenode.handler.count=1 but of course this has scaling implications for 
 large clusters.
 I recommend that the ThreadLocal Random part of HDFS-6268 be reverted until a 
 better algorithm can be implemented and tested.  Testing should include a 
 case with many DNs and a small number of blocks on each.
 It should also be noted that even pre-HDFS-6268, the random choice of DN 
 algorithm produces a rather non-uniform distribution of copies.  This is not 
 due to any bug, but purely a case of random distributions being much less 
 uniform than one might intuitively expect. In the above case, pre-HDFS-6268 
 yields something like a range of 3 to 25 block copies on each DN. 
 Surprisingly, the performance penalty of this non-uniformity is not as big as 
 might be expected (maybe only 10-20%), but HDFS should do better, and in any 
 case the capacity issue remains.  Round-robin choice of DN?  Better awareness 
 of which DNs currently store fewer blocks? It's not sufficient that the total 
 number of blocks is similar on each DN at the end, but that at each point in 
 time no individual DN receives a disproportionate number of blocks at once 
 (which could be a danger of a RR algorithm).
 Probably should limit this jira to tracking the ThreadLocal issue, and track 
 the random choice issue in another one.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (HDFS-7081) Add new DistributedFileSystem API for getting all the existing storage policies

2014-09-24 Thread Tsz Wo Nicholas Sze (JIRA)

[ 
https://issues.apache.org/jira/browse/HDFS-7081?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14146108#comment-14146108
 ] 

Tsz Wo Nicholas Sze commented on HDFS-7081:
---

Th latest patch only changed the XAttr.NameSpace from TRUSTED to SYSTEM.  The 
failed tests are not related.

+1

 Add new DistributedFileSystem API for getting all the existing storage 
 policies
 ---

 Key: HDFS-7081
 URL: https://issues.apache.org/jira/browse/HDFS-7081
 Project: Hadoop HDFS
  Issue Type: Sub-task
  Components: balancer, namenode
Reporter: Jing Zhao
Assignee: Jing Zhao
 Attachments: HDFS-7081.000.patch, HDFS-7081.001.patch, 
 HDFS-7081.002.patch, HDFS-7081.003.patch, HDFS-7081.004.patch


 Instead of loading all the policies from a client side configuration file, it 
 may be better to provide Mover with a new RPC call for getting all the 
 storage policies from the namenode.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (HDFS-7130) TestDataTransferKeepalive fails intermittently on Windows.

2014-09-24 Thread Hudson (JIRA)

[ 
https://issues.apache.org/jira/browse/HDFS-7130?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14146214#comment-14146214
 ] 

Hudson commented on HDFS-7130:
--

FAILURE: Integrated in Hadoop-Yarn-trunk #690 (See 
[https://builds.apache.org/job/Hadoop-Yarn-trunk/690/])
HDFS-7130. TestDataTransferKeepalive fails intermittently on Windows. 
Contributed by Chris Nauroth. (cnauroth: rev 
b93d9603a25b6b93f67c69503130164eef047876)
* 
hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/TestDataTransferKeepalive.java
* hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt


 TestDataTransferKeepalive fails intermittently on Windows.
 --

 Key: HDFS-7130
 URL: https://issues.apache.org/jira/browse/HDFS-7130
 Project: Hadoop HDFS
  Issue Type: Bug
  Components: test
Reporter: Chris Nauroth
Assignee: Chris Nauroth
 Fix For: 2.6.0

 Attachments: HDFS-7130.1.patch


 {{TestDataTransferKeepalive}} has failed intermittently on Windows.  These 
 tests rely on a 1 ms thread sleep to wait for a cache expiration.  This is 
 likely too short on Windows, which has been observed to have a less granular 
 clock interrupt period compared to typical Linux machines.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (HDFS-7126) TestEncryptionZonesWithHA assumes Unix path separator for KMS key store path

2014-09-24 Thread Hudson (JIRA)

[ 
https://issues.apache.org/jira/browse/HDFS-7126?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14146209#comment-14146209
 ] 

Hudson commented on HDFS-7126:
--

FAILURE: Integrated in Hadoop-Yarn-trunk #690 (See 
[https://builds.apache.org/job/Hadoop-Yarn-trunk/690/])
HDFS-7126. TestEncryptionZonesWithHA assumes Unix path separator for KMS key 
store path. Contributed by Xiaoyu Yao. (cnauroth: rev 
a1fd804a314481065c849cb8e1d7c75494e24660)
* hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt
* 
hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/TestEncryptionZonesWithHA.java


 TestEncryptionZonesWithHA assumes Unix path separator for KMS key store path
 

 Key: HDFS-7126
 URL: https://issues.apache.org/jira/browse/HDFS-7126
 Project: Hadoop HDFS
  Issue Type: Test
  Components: security, test
Reporter: Xiaoyu Yao
Assignee: Xiaoyu Yao
Priority: Minor
 Fix For: 2.6.0

 Attachments: HDFS-7126.0.patch






--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (HDFS-7132) hdfs namenode -metadataVersion command does not honor configured name dirs

2014-09-24 Thread Hudson (JIRA)

[ 
https://issues.apache.org/jira/browse/HDFS-7132?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14146212#comment-14146212
 ] 

Hudson commented on HDFS-7132:
--

FAILURE: Integrated in Hadoop-Yarn-trunk #690 (See 
[https://builds.apache.org/job/Hadoop-Yarn-trunk/690/])
HDFS-7132. hdfs namenode -metadataVersion command does not honor configured 
name dirs. Contributed by Charles Lamb. (wang: rev 
f48686a1ad81823000534665a76264bba51182f4)
* hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt
* 
hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/namenode/TestMetadataVersionOutput.java
* 
hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/NameNode.java


 hdfs namenode -metadataVersion command does not honor configured name dirs
 --

 Key: HDFS-7132
 URL: https://issues.apache.org/jira/browse/HDFS-7132
 Project: Hadoop HDFS
  Issue Type: Bug
  Components: namenode
Affects Versions: 2.6.0
Reporter: Charles Lamb
Assignee: Charles Lamb
Priority: Minor
 Fix For: 2.6.0

 Attachments: HDFS-7132.001.patch


 The hdfs namenode -metadataVersion command does not honor 
 dfs.namenode.name.dir.nameservice.namenode configuration parameters.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (HDFS-7132) hdfs namenode -metadataVersion command does not honor configured name dirs

2014-09-24 Thread Hudson (JIRA)

[ 
https://issues.apache.org/jira/browse/HDFS-7132?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14146351#comment-14146351
 ] 

Hudson commented on HDFS-7132:
--

SUCCESS: Integrated in Hadoop-Hdfs-trunk #1881 (See 
[https://builds.apache.org/job/Hadoop-Hdfs-trunk/1881/])
HDFS-7132. hdfs namenode -metadataVersion command does not honor configured 
name dirs. Contributed by Charles Lamb. (wang: rev 
f48686a1ad81823000534665a76264bba51182f4)
* 
hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/NameNode.java
* hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt
* 
hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/namenode/TestMetadataVersionOutput.java


 hdfs namenode -metadataVersion command does not honor configured name dirs
 --

 Key: HDFS-7132
 URL: https://issues.apache.org/jira/browse/HDFS-7132
 Project: Hadoop HDFS
  Issue Type: Bug
  Components: namenode
Affects Versions: 2.6.0
Reporter: Charles Lamb
Assignee: Charles Lamb
Priority: Minor
 Fix For: 2.6.0

 Attachments: HDFS-7132.001.patch


 The hdfs namenode -metadataVersion command does not honor 
 dfs.namenode.name.dir.nameservice.namenode configuration parameters.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (HDFS-7130) TestDataTransferKeepalive fails intermittently on Windows.

2014-09-24 Thread Hudson (JIRA)

[ 
https://issues.apache.org/jira/browse/HDFS-7130?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14146353#comment-14146353
 ] 

Hudson commented on HDFS-7130:
--

SUCCESS: Integrated in Hadoop-Hdfs-trunk #1881 (See 
[https://builds.apache.org/job/Hadoop-Hdfs-trunk/1881/])
HDFS-7130. TestDataTransferKeepalive fails intermittently on Windows. 
Contributed by Chris Nauroth. (cnauroth: rev 
b93d9603a25b6b93f67c69503130164eef047876)
* 
hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/TestDataTransferKeepalive.java
* hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt


 TestDataTransferKeepalive fails intermittently on Windows.
 --

 Key: HDFS-7130
 URL: https://issues.apache.org/jira/browse/HDFS-7130
 Project: Hadoop HDFS
  Issue Type: Bug
  Components: test
Reporter: Chris Nauroth
Assignee: Chris Nauroth
 Fix For: 2.6.0

 Attachments: HDFS-7130.1.patch


 {{TestDataTransferKeepalive}} has failed intermittently on Windows.  These 
 tests rely on a 1 ms thread sleep to wait for a cache expiration.  This is 
 likely too short on Windows, which has been observed to have a less granular 
 clock interrupt period compared to typical Linux machines.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (HDFS-7126) TestEncryptionZonesWithHA assumes Unix path separator for KMS key store path

2014-09-24 Thread Hudson (JIRA)

[ 
https://issues.apache.org/jira/browse/HDFS-7126?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14146348#comment-14146348
 ] 

Hudson commented on HDFS-7126:
--

SUCCESS: Integrated in Hadoop-Hdfs-trunk #1881 (See 
[https://builds.apache.org/job/Hadoop-Hdfs-trunk/1881/])
HDFS-7126. TestEncryptionZonesWithHA assumes Unix path separator for KMS key 
store path. Contributed by Xiaoyu Yao. (cnauroth: rev 
a1fd804a314481065c849cb8e1d7c75494e24660)
* 
hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/TestEncryptionZonesWithHA.java
* hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt


 TestEncryptionZonesWithHA assumes Unix path separator for KMS key store path
 

 Key: HDFS-7126
 URL: https://issues.apache.org/jira/browse/HDFS-7126
 Project: Hadoop HDFS
  Issue Type: Test
  Components: security, test
Reporter: Xiaoyu Yao
Assignee: Xiaoyu Yao
Priority: Minor
 Fix For: 2.6.0

 Attachments: HDFS-7126.0.patch






--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (HDFS-6826) Plugin interface to enable delegation of HDFS authorization assertions

2014-09-24 Thread Daryn Sharp (JIRA)

[ 
https://issues.apache.org/jira/browse/HDFS-6826?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14146399#comment-14146399
 ] 

Daryn Sharp commented on HDFS-6826:
---

My main concern and opposition is the current approach so tightly couples the 
plugin with the NN's current implementation that it will impede future 
features. Too many implementation details are leaked or exposed for plugins 
that ought not be.  I have many changes related to combined path resolution, 
locking, and permission checks that will be jeopardized.

Specific issues:
# It's all too tightly coupled to the current permission checker implementation
# The plugin will break every time a new namesystem method is added
# Block operations shouldn't be going through the plugin, should they?
# MAJOR: Splicing at the {{ClientNamenodeProtocolServerSideTranslatorPB}} level 
allows webhdfs to sidestep the plugin
# Thread locals aren't always performant and they are used heavily primarily to 
allow the plugin to avoid blowing up edit log processing because...
# Splicing into inodes is too low of a level.  All authz checks should have 
already been performed.
# Why splice into inode setters since checked exceptions cannot be thrown?  
Silently ignoring the set will discombobulate the user.  Throwing a runtime 
exception may leave the namesystem in an inconsistent state, thus I don't see 
the value add.
# Setters in {{DefaultAuthorizationProvider}} are too fragile.  It's exposing 
too many implementation details as to how inode information is encoded - today.
# Using a static for the provider allows one and only one custom authz 
provider.  What if the user wants to use _both_ sentry and argus?

Now let's look at the two use cases, correct me if I'm wrong:
* Argus: wants to augment the permission model for acls that cannot be 
represented in hdfs acls
* Sentry: wants to return fake user/group/perms to avoid having other stack 
components own their backing files

Based our offline discussion of Argus, it should be the easiest to implement 
based on the explicit agreement it will only augment the permission model.  
Just needs an additional callout.

The Sentry use case is a bit dubious but generally simple to add in a manner 
that doesn't complicate future changes.  It just needs to substitute inode 
attributes prior to the standard permission checks.  The file status change may 
seem like a hack (today) but it will dovetail with fsdir changes to only 
operate on pre-resolved inodes - not re-resolved paths.  File status will 
simply return the attributes of the last node which will conveniently be the 
dummy values already substituted by the plugin.

 Plugin interface to enable delegation of HDFS authorization assertions
 --

 Key: HDFS-6826
 URL: https://issues.apache.org/jira/browse/HDFS-6826
 Project: Hadoop HDFS
  Issue Type: New Feature
  Components: security
Affects Versions: 2.4.1
Reporter: Alejandro Abdelnur
Assignee: Alejandro Abdelnur
 Attachments: HDFS-6826-idea.patch, HDFS-6826-idea2.patch, 
 HDFS-6826-permchecker.patch, HDFS-6826v3.patch, HDFS-6826v4.patch, 
 HDFS-6826v5.patch, HDFS-6826v6.patch, HDFS-6826v7.1.patch, 
 HDFS-6826v7.2.patch, HDFS-6826v7.3.patch, HDFS-6826v7.4.patch, 
 HDFS-6826v7.5.patch, HDFS-6826v7.6.patch, HDFS-6826v7.patch, 
 HDFS-6826v8.patch, HDFS-6826v9.patch, 
 HDFSPluggableAuthorizationProposal-v2.pdf, 
 HDFSPluggableAuthorizationProposal.pdf


 When Hbase data, HiveMetaStore data or Search data is accessed via services 
 (Hbase region servers, HiveServer2, Impala, Solr) the services can enforce 
 permissions on corresponding entities (databases, tables, views, columns, 
 search collections, documents). It is desirable, when the data is accessed 
 directly by users accessing the underlying data files (i.e. from a MapReduce 
 job), that the permission of the data files map to the permissions of the 
 corresponding data entity (i.e. table, column family or search collection).
 To enable this we need to have the necessary hooks in place in the NameNode 
 to delegate authorization to an external system that can map HDFS 
 files/directories to data entities and resolve their permissions based on the 
 data entities permissions.
 I’ll be posting a design proposal in the next few days.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Created] (HDFS-7138) Fix hftp to work with encryption

2014-09-24 Thread Charles Lamb (JIRA)
Charles Lamb created HDFS-7138:
--

 Summary: Fix hftp to work with encryption
 Key: HDFS-7138
 URL: https://issues.apache.org/jira/browse/HDFS-7138
 Project: Hadoop HDFS
  Issue Type: Sub-task
  Components: namenode
Affects Versions: 2.6.0
Reporter: Charles Lamb
Assignee: Charles Lamb


Users cannot read files using hftp.

bash-4.1$ hadoop fs -cat /enc/hello
hello and goodbye
bash-4.1$ hadoop fs -cat hftp://localhost:50070/enc/hello
14/09/16 10:56:52 WARN ssl.FileBasedKeyStoresFactory: The property 
'ssl.client.truststore.location' has not been set, no TrustStore will be loaded
P5/-?K?fbash-4.1$



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (HDFS-6534) Fix build on macosx: HDFS parts

2014-09-24 Thread Allen Wittenauer (JIRA)

[ 
https://issues.apache.org/jira/browse/HDFS-6534?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14146421#comment-14146421
 ] 

Allen Wittenauer commented on HDFS-6534:


+1 LGTM. Committing to branch-2 and trunk.

Thanks!

 Fix build on macosx: HDFS parts
 ---

 Key: HDFS-6534
 URL: https://issues.apache.org/jira/browse/HDFS-6534
 Project: Hadoop HDFS
  Issue Type: Bug
Reporter: Binglin Chang
Assignee: Binglin Chang
Priority: Minor
 Fix For: 2.6.0

 Attachments: HDFS-6534.v1.patch, HDFS-6534.v2.patch, 
 HDFS-6534.v3.patch


 When compiling native code on macosx using clang, compiler find more warning 
 and errors which gcc ignores, those should be fixed.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Updated] (HDFS-6534) Fix build on macosx: HDFS parts

2014-09-24 Thread Allen Wittenauer (JIRA)

 [ 
https://issues.apache.org/jira/browse/HDFS-6534?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Allen Wittenauer updated HDFS-6534:
---
   Resolution: Fixed
Fix Version/s: 2.6.0
   Status: Resolved  (was: Patch Available)

 Fix build on macosx: HDFS parts
 ---

 Key: HDFS-6534
 URL: https://issues.apache.org/jira/browse/HDFS-6534
 Project: Hadoop HDFS
  Issue Type: Bug
Reporter: Binglin Chang
Assignee: Binglin Chang
Priority: Minor
 Fix For: 2.6.0

 Attachments: HDFS-6534.v1.patch, HDFS-6534.v2.patch, 
 HDFS-6534.v3.patch


 When compiling native code on macosx using clang, compiler find more warning 
 and errors which gcc ignores, those should be fixed.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Updated] (HDFS-7138) Fix hftp to work with encryption

2014-09-24 Thread Charles Lamb (JIRA)

 [ 
https://issues.apache.org/jira/browse/HDFS-7138?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Charles Lamb updated HDFS-7138:
---
Attachment: HDFS-7138.001.patch

The attached patch changes namenode/StreamFile.java to call 
createWrappedInputStream during the open call. This causes hftp to be able to 
read encrypted files.

The unit test for StreamFile was also changed to reflect the change from 
FSInputStream args to FSDataInputStream.


 Fix hftp to work with encryption
 

 Key: HDFS-7138
 URL: https://issues.apache.org/jira/browse/HDFS-7138
 Project: Hadoop HDFS
  Issue Type: Sub-task
  Components: namenode
Affects Versions: 2.6.0
Reporter: Charles Lamb
Assignee: Charles Lamb
 Attachments: HDFS-7138.001.patch


 Users cannot read files using hftp.
 bash-4.1$ hadoop fs -cat /enc/hello
 hello and goodbye
 bash-4.1$ hadoop fs -cat hftp://localhost:50070/enc/hello
 14/09/16 10:56:52 WARN ssl.FileBasedKeyStoresFactory: The property 
 'ssl.client.truststore.location' has not been set, no TrustStore will be 
 loaded
 P5/-?K?fbash-4.1$



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Updated] (HDFS-7138) Fix hftp to work with encryption

2014-09-24 Thread Charles Lamb (JIRA)

 [ 
https://issues.apache.org/jira/browse/HDFS-7138?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Charles Lamb updated HDFS-7138:
---
Status: Patch Available  (was: Open)

 Fix hftp to work with encryption
 

 Key: HDFS-7138
 URL: https://issues.apache.org/jira/browse/HDFS-7138
 Project: Hadoop HDFS
  Issue Type: Sub-task
  Components: namenode
Affects Versions: 2.6.0
Reporter: Charles Lamb
Assignee: Charles Lamb
 Attachments: HDFS-7138.001.patch


 Users cannot read files using hftp.
 bash-4.1$ hadoop fs -cat /enc/hello
 hello and goodbye
 bash-4.1$ hadoop fs -cat hftp://localhost:50070/enc/hello
 14/09/16 10:56:52 WARN ssl.FileBasedKeyStoresFactory: The property 
 'ssl.client.truststore.location' has not been set, no TrustStore will be 
 loaded
 P5/-?K?fbash-4.1$



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (HDFS-7138) Fix hftp to work with encryption

2014-09-24 Thread Hadoop QA (JIRA)

[ 
https://issues.apache.org/jira/browse/HDFS-7138?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14146458#comment-14146458
 ] 

Hadoop QA commented on HDFS-7138:
-

{color:red}-1 overall{color}.  Here are the results of testing the latest 
attachment 
  http://issues.apache.org/jira/secure/attachment/12670981/HDFS-7138.001.patch
  against trunk revision 034df0e.

{color:red}-1 patch{color}.  The patch command could not apply the patch.

Console output: https://builds.apache.org/job/PreCommit-HDFS-Build/8181//console

This message is automatically generated.

 Fix hftp to work with encryption
 

 Key: HDFS-7138
 URL: https://issues.apache.org/jira/browse/HDFS-7138
 Project: Hadoop HDFS
  Issue Type: Sub-task
  Components: namenode
Affects Versions: 2.6.0
Reporter: Charles Lamb
Assignee: Charles Lamb
 Attachments: HDFS-7138.001.patch


 Users cannot read files using hftp.
 bash-4.1$ hadoop fs -cat /enc/hello
 hello and goodbye
 bash-4.1$ hadoop fs -cat hftp://localhost:50070/enc/hello
 14/09/16 10:56:52 WARN ssl.FileBasedKeyStoresFactory: The property 
 'ssl.client.truststore.location' has not been set, no TrustStore will be 
 loaded
 P5/-?K?fbash-4.1$



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (HDFS-7138) Fix hftp to work with encryption

2014-09-24 Thread Charles Lamb (JIRA)

[ 
https://issues.apache.org/jira/browse/HDFS-7138?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14146476#comment-14146476
 ] 

Charles Lamb commented on HDFS-7138:


I should have mentioned that the patch is for branch-2 and that's why it 
wouldn't apply for test-patch. I ran TestHftpFileSystem on my local machine (as 
well as TestStreamFile) and both worked fine with the patch.


 Fix hftp to work with encryption
 

 Key: HDFS-7138
 URL: https://issues.apache.org/jira/browse/HDFS-7138
 Project: Hadoop HDFS
  Issue Type: Sub-task
  Components: namenode
Affects Versions: 2.6.0
Reporter: Charles Lamb
Assignee: Charles Lamb
 Attachments: HDFS-7138.001.patch


 Users cannot read files using hftp.
 bash-4.1$ hadoop fs -cat /enc/hello
 hello and goodbye
 bash-4.1$ hadoop fs -cat hftp://localhost:50070/enc/hello
 14/09/16 10:56:52 WARN ssl.FileBasedKeyStoresFactory: The property 
 'ssl.client.truststore.location' has not been set, no TrustStore will be 
 loaded
 P5/-?K?fbash-4.1$



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (HDFS-7130) TestDataTransferKeepalive fails intermittently on Windows.

2014-09-24 Thread Hudson (JIRA)

[ 
https://issues.apache.org/jira/browse/HDFS-7130?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14146514#comment-14146514
 ] 

Hudson commented on HDFS-7130:
--

FAILURE: Integrated in Hadoop-Mapreduce-trunk #1906 (See 
[https://builds.apache.org/job/Hadoop-Mapreduce-trunk/1906/])
HDFS-7130. TestDataTransferKeepalive fails intermittently on Windows. 
Contributed by Chris Nauroth. (cnauroth: rev 
b93d9603a25b6b93f67c69503130164eef047876)
* hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt
* 
hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/TestDataTransferKeepalive.java


 TestDataTransferKeepalive fails intermittently on Windows.
 --

 Key: HDFS-7130
 URL: https://issues.apache.org/jira/browse/HDFS-7130
 Project: Hadoop HDFS
  Issue Type: Bug
  Components: test
Reporter: Chris Nauroth
Assignee: Chris Nauroth
 Fix For: 2.6.0

 Attachments: HDFS-7130.1.patch


 {{TestDataTransferKeepalive}} has failed intermittently on Windows.  These 
 tests rely on a 1 ms thread sleep to wait for a cache expiration.  This is 
 likely too short on Windows, which has been observed to have a less granular 
 clock interrupt period compared to typical Linux machines.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (HDFS-7132) hdfs namenode -metadataVersion command does not honor configured name dirs

2014-09-24 Thread Hudson (JIRA)

[ 
https://issues.apache.org/jira/browse/HDFS-7132?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14146512#comment-14146512
 ] 

Hudson commented on HDFS-7132:
--

FAILURE: Integrated in Hadoop-Mapreduce-trunk #1906 (See 
[https://builds.apache.org/job/Hadoop-Mapreduce-trunk/1906/])
HDFS-7132. hdfs namenode -metadataVersion command does not honor configured 
name dirs. Contributed by Charles Lamb. (wang: rev 
f48686a1ad81823000534665a76264bba51182f4)
* hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt
* 
hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/NameNode.java
* 
hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/namenode/TestMetadataVersionOutput.java


 hdfs namenode -metadataVersion command does not honor configured name dirs
 --

 Key: HDFS-7132
 URL: https://issues.apache.org/jira/browse/HDFS-7132
 Project: Hadoop HDFS
  Issue Type: Bug
  Components: namenode
Affects Versions: 2.6.0
Reporter: Charles Lamb
Assignee: Charles Lamb
Priority: Minor
 Fix For: 2.6.0

 Attachments: HDFS-7132.001.patch


 The hdfs namenode -metadataVersion command does not honor 
 dfs.namenode.name.dir.nameservice.namenode configuration parameters.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (HDFS-7126) TestEncryptionZonesWithHA assumes Unix path separator for KMS key store path

2014-09-24 Thread Hudson (JIRA)

[ 
https://issues.apache.org/jira/browse/HDFS-7126?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14146509#comment-14146509
 ] 

Hudson commented on HDFS-7126:
--

FAILURE: Integrated in Hadoop-Mapreduce-trunk #1906 (See 
[https://builds.apache.org/job/Hadoop-Mapreduce-trunk/1906/])
HDFS-7126. TestEncryptionZonesWithHA assumes Unix path separator for KMS key 
store path. Contributed by Xiaoyu Yao. (cnauroth: rev 
a1fd804a314481065c849cb8e1d7c75494e24660)
* 
hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/TestEncryptionZonesWithHA.java
* hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt


 TestEncryptionZonesWithHA assumes Unix path separator for KMS key store path
 

 Key: HDFS-7126
 URL: https://issues.apache.org/jira/browse/HDFS-7126
 Project: Hadoop HDFS
  Issue Type: Test
  Components: security, test
Reporter: Xiaoyu Yao
Assignee: Xiaoyu Yao
Priority: Minor
 Fix For: 2.6.0

 Attachments: HDFS-7126.0.patch






--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Updated] (HDFS-7081) Add new DistributedFileSystem API for getting all the existing storage policies

2014-09-24 Thread Jing Zhao (JIRA)

 [ 
https://issues.apache.org/jira/browse/HDFS-7081?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Jing Zhao updated HDFS-7081:

   Resolution: Fixed
Fix Version/s: 3.0.0
 Hadoop Flags: Reviewed
   Status: Resolved  (was: Patch Available)

I've committed this to trunk.

 Add new DistributedFileSystem API for getting all the existing storage 
 policies
 ---

 Key: HDFS-7081
 URL: https://issues.apache.org/jira/browse/HDFS-7081
 Project: Hadoop HDFS
  Issue Type: Sub-task
  Components: balancer, namenode
Reporter: Jing Zhao
Assignee: Jing Zhao
 Fix For: 3.0.0

 Attachments: HDFS-7081.000.patch, HDFS-7081.001.patch, 
 HDFS-7081.002.patch, HDFS-7081.003.patch, HDFS-7081.004.patch


 Instead of loading all the policies from a client side configuration file, it 
 may be better to provide Mover with a new RPC call for getting all the 
 storage policies from the namenode.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (HDFS-7011) Implement basic utilities for libhdfs3

2014-09-24 Thread Colin Patrick McCabe (JIRA)

[ 
https://issues.apache.org/jira/browse/HDFS-7011?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14146548#comment-14146548
 ] 

Colin Patrick McCabe commented on HDFS-7011:


bq. As discussed before, libhdfs3 is not a good name and should be changed. 
libhdfs only provide C interface and do not have namespace issue.

OK.  I can put it in namespace hdfs for now.  Please, let's put off the 
library name discussion until later or else we'll never finish :)

bq. I think it is necessary to keep the copyright history since not like other 
code in HDFS, libhdfs3 was proprietary software before open source.

Apache's policy is very clear here.  See 
http://www.apache.org/legal/src-headers.html, the section labelled Source File 
Headers for Code Developed at the ASF

bq. If the source file is submitted with a copyright notice included in it, the 
copyright owner (or owner's agent) must either:  remove such notices, or move 
them to the NOTICE file associated with each applicable project release, or 
provide written permission for the ASF to make such removal or relocation of 
the notices. Each source file should include the following license header -- 
note that there should be no copyright notice in the header: \[apache 2.0 
license header\]

We also don't permit author tags (Jenkins specifically checks for and -1s any 
patches that contain them).

bq. I block many signals in backend worker thread, these signals should only be 
handled in main thread. libhdfs3 will not raise SIGPIPE at all.

I agree that SIGPIPE should not be raised if the proper precautions are taken 
during send, write, etc.  But since we know we don't ever want SIGPIPE, why not 
block it?

Is the reason you want to block the other signals in the worker thread that 
this will allow an application that wants to handle them specifically will be 
able to do so?  That makes sense, and I will add back the other signal blocking.

 Implement basic utilities for libhdfs3
 --

 Key: HDFS-7011
 URL: https://issues.apache.org/jira/browse/HDFS-7011
 Project: Hadoop HDFS
  Issue Type: Sub-task
  Components: hdfs-client
Reporter: Zhanwei Wang
Assignee: Colin Patrick McCabe
 Attachments: HDFS-7011-pnative.001.patch, HDFS-7011.patch


 Implement basic utilities such as hash, exception handling, logger, configure 
 parser, checksum calculate and so on.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (HDFS-6877) Avoid calling checkDisk and stop active BlockReceiver thread when an HDFS volume is removed during a write.

2014-09-24 Thread Colin Patrick McCabe (JIRA)

[ 
https://issues.apache.org/jira/browse/HDFS-6877?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14146575#comment-14146575
 ] 

Colin Patrick McCabe commented on HDFS-6877:


bq. I anticipated a behavior that the application is writing the block in very 
slow speed. For instance, a light traffic service opens a log file and only 
appends 10KB logs after waking up for every 30 seconds? Or some applications 
that dump immediate results (e.g., 1MB) after every 10 minutes? In such cases, 
the BlockReceiver thread can live for a long time, until the block is full and 
then be closed. 

I'm sorry, but your understanding is not correct.  The BlockReceiver processes 
messages of about 64kb.  If the DFSOutputStream doesn't have enough to send a 
message, no message is sent.  It doesn't matter how slow the client is, the 
BlockReceiver will be fast.

So please get rid of this interruption stuff.

 Avoid calling checkDisk and stop active BlockReceiver thread when an HDFS 
 volume is removed during a write.
 ---

 Key: HDFS-6877
 URL: https://issues.apache.org/jira/browse/HDFS-6877
 Project: Hadoop HDFS
  Issue Type: Sub-task
  Components: datanode
Affects Versions: 2.5.0
Reporter: Lei (Eddy) Xu
Assignee: Lei (Eddy) Xu
 Attachments: HDFS-6877.000.consolidate.txt, 
 HDFS-6877.000.delta-HDFS-6727.txt, HDFS-6877.001.combo.txt, 
 HDFS-6877.001.patch, HDFS-6877.002.patch, HDFS-6877.003.patch, 
 HDFS-6877.004.patch, HDFS-6877.005.patch


 Avoid calling checkDisk and stop active BlockReceiver thread when an HDFS 
 volume is removed during a write.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Created] (HDFS-7139) Unit test for creating encryption zone on root path

2014-09-24 Thread Zhe Zhang (JIRA)
Zhe Zhang created HDFS-7139:
---

 Summary: Unit test for creating encryption zone on root path
 Key: HDFS-7139
 URL: https://issues.apache.org/jira/browse/HDFS-7139
 Project: Hadoop HDFS
  Issue Type: Improvement
Reporter: Zhe Zhang
Assignee: Zhe Zhang
Priority: Minor






--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Updated] (HDFS-7139) Unit test for creating encryption zone on root path

2014-09-24 Thread Zhe Zhang (JIRA)

 [ 
https://issues.apache.org/jira/browse/HDFS-7139?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Zhe Zhang updated HDFS-7139:

Issue Type: Sub-task  (was: Improvement)
Parent: HDFS-6891

 Unit test for creating encryption zone on root path
 ---

 Key: HDFS-7139
 URL: https://issues.apache.org/jira/browse/HDFS-7139
 Project: Hadoop HDFS
  Issue Type: Sub-task
Reporter: Zhe Zhang
Assignee: Zhe Zhang
Priority: Minor





--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Updated] (HDFS-6877) Avoid calling checkDisk and stop active BlockReceiver thread when an HDFS volume is removed during a write.

2014-09-24 Thread Lei (Eddy) Xu (JIRA)

 [ 
https://issues.apache.org/jira/browse/HDFS-6877?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Lei (Eddy) Xu updated HDFS-6877:

Attachment: HDFS-6877.006.patch

[~cmccabe] cool, thanks for pointing this out. I've reverted the changes and 
only addressed your last comments. 



 Avoid calling checkDisk and stop active BlockReceiver thread when an HDFS 
 volume is removed during a write.
 ---

 Key: HDFS-6877
 URL: https://issues.apache.org/jira/browse/HDFS-6877
 Project: Hadoop HDFS
  Issue Type: Sub-task
  Components: datanode
Affects Versions: 2.5.0
Reporter: Lei (Eddy) Xu
Assignee: Lei (Eddy) Xu
 Attachments: HDFS-6877.000.consolidate.txt, 
 HDFS-6877.000.delta-HDFS-6727.txt, HDFS-6877.001.combo.txt, 
 HDFS-6877.001.patch, HDFS-6877.002.patch, HDFS-6877.003.patch, 
 HDFS-6877.004.patch, HDFS-6877.005.patch, HDFS-6877.006.patch


 Avoid calling checkDisk and stop active BlockReceiver thread when an HDFS 
 volume is removed during a write.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Updated] (HDFS-7139) Unit test for creating encryption zone on root path

2014-09-24 Thread Zhe Zhang (JIRA)

 [ 
https://issues.apache.org/jira/browse/HDFS-7139?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Zhe Zhang updated HDFS-7139:

Status: Patch Available  (was: Open)

 Unit test for creating encryption zone on root path
 ---

 Key: HDFS-7139
 URL: https://issues.apache.org/jira/browse/HDFS-7139
 Project: Hadoop HDFS
  Issue Type: Sub-task
Reporter: Zhe Zhang
Assignee: Zhe Zhang
Priority: Minor
 Attachments: HDFS-7139.patch






--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Updated] (HDFS-7139) Unit test for creating encryption zone on root path

2014-09-24 Thread Zhe Zhang (JIRA)

 [ 
https://issues.apache.org/jira/browse/HDFS-7139?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Zhe Zhang updated HDFS-7139:

Attachment: HDFS-7139.patch

 Unit test for creating encryption zone on root path
 ---

 Key: HDFS-7139
 URL: https://issues.apache.org/jira/browse/HDFS-7139
 Project: Hadoop HDFS
  Issue Type: Sub-task
Reporter: Zhe Zhang
Assignee: Zhe Zhang
Priority: Minor
 Attachments: HDFS-7139.patch






--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (HDFS-7139) Unit test for creating encryption zone on root path

2014-09-24 Thread Charles Lamb (JIRA)

[ 
https://issues.apache.org/jira/browse/HDFS-7139?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14146595#comment-14146595
 ] 

Charles Lamb commented on HDFS-7139:


Thanks for handling this Zhe. I think it might be a good idea to actually check 
the FileStatus.isEncrypted() bit on both the dir and the file. Also, it might 
be good to verify that the file and the /.reserved/raw version of the file are 
not equal. DFSTestUtils.verifyFilesNotEqual is useful for that.


 Unit test for creating encryption zone on root path
 ---

 Key: HDFS-7139
 URL: https://issues.apache.org/jira/browse/HDFS-7139
 Project: Hadoop HDFS
  Issue Type: Sub-task
Reporter: Zhe Zhang
Assignee: Zhe Zhang
Priority: Minor
 Attachments: HDFS-7139.patch






--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (HDFS-7122) Very poor distribution of replication copies

2014-09-24 Thread Andrew Wang (JIRA)

[ 
https://issues.apache.org/jira/browse/HDFS-7122?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14146596#comment-14146596
 ] 

Andrew Wang commented on HDFS-7122:
---

Can we hold off on the revert for now? There are a couple other JIRAs layered 
on top of HDFS-6268 right now, and as I said above, I'm working on this pretty 
actively and I think we can get it done by 2.6.

 Very poor distribution of replication copies
 

 Key: HDFS-7122
 URL: https://issues.apache.org/jira/browse/HDFS-7122
 Project: Hadoop HDFS
  Issue Type: Bug
  Components: namenode
Affects Versions: 2.3.0
 Environment: medium-large environments with 100's to 1000's of DNs 
 will be most affected, but potentially all environments.
Reporter: Jeff Buell
Assignee: Andrew Wang
Priority: Blocker
  Labels: performance

 Summary:
 Since HDFS-6268, the distribution of replica block copies across the 
 DataNodes (replicas 2,3,... as distinguished from the first primary 
 replica) is extremely poor, to the point that TeraGen slows down by as much 
 as 3X for certain configurations.  This is almost certainly due to the 
 introduction of Thread Local Random in HDFS-6268.  The mechanism appears to 
 be that this change causes all the random numbers in the threads to be 
 correlated, thus preventing a truly random choice of DN for each replica copy.
 Testing details:
 1 TB TeraGen on 638 slave nodes (virtual machines on 32 physical hosts), 
 256MB block size.  This results in 6 primary blocks on each DN.  With 
 replication=3, there will be on average 12 more copies on each DN that are 
 copies of blocks from other DNs.  Because of the random selection of DNs, 
 exactly 12 copies are not expected, but I found that about 160 DNs (1/4 of 
 all DNs!) received absolutely no copies, while one DN received over 100 
 copies, and the elapsed time increased by about 3X from a pre-HDFS-6268 
 distro.  There was no pattern to which DNs didn't receive copies, nor was the 
 set of such DNs repeatable run-to-run. In addition to the performance 
 problem, there could be capacity problems due to one or a few DNs running out 
 of space. Testing was done on CDH 5.0.0 (before) and CDH 5.1.2 (after), but I 
 don't see a significant difference from the Apache Hadoop source in this 
 regard. The workaround to recover the previous behavior is to set 
 dfs.namenode.handler.count=1 but of course this has scaling implications for 
 large clusters.
 I recommend that the ThreadLocal Random part of HDFS-6268 be reverted until a 
 better algorithm can be implemented and tested.  Testing should include a 
 case with many DNs and a small number of blocks on each.
 It should also be noted that even pre-HDFS-6268, the random choice of DN 
 algorithm produces a rather non-uniform distribution of copies.  This is not 
 due to any bug, but purely a case of random distributions being much less 
 uniform than one might intuitively expect. In the above case, pre-HDFS-6268 
 yields something like a range of 3 to 25 block copies on each DN. 
 Surprisingly, the performance penalty of this non-uniformity is not as big as 
 might be expected (maybe only 10-20%), but HDFS should do better, and in any 
 case the capacity issue remains.  Round-robin choice of DN?  Better awareness 
 of which DNs currently store fewer blocks? It's not sufficient that the total 
 number of blocks is similar on each DN at the end, but that at each point in 
 time no individual DN receives a disproportionate number of blocks at once 
 (which could be a danger of a RR algorithm).
 Probably should limit this jira to tracking the ThreadLocal issue, and track 
 the random choice issue in another one.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (HDFS-6987) Move CipherSuite xattr information up to the encryption zone root

2014-09-24 Thread Andrew Wang (JIRA)

[ 
https://issues.apache.org/jira/browse/HDFS-6987?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14146607#comment-14146607
 ] 

Andrew Wang commented on HDFS-6987:
---

Hey Suresh, in terms of the must-dos before a release, I'd say this one, 
HDFS-7077 (almost ready), and HADOOP-3 (also actively being worked on). 
Charles is working on HFTP support and we've got a few other nice-to-haves, but 
I think that's basically it.

 Move CipherSuite xattr information up to the encryption zone root
 -

 Key: HDFS-6987
 URL: https://issues.apache.org/jira/browse/HDFS-6987
 Project: Hadoop HDFS
  Issue Type: Sub-task
  Components: encryption
Reporter: Andrew Wang
Assignee: Zhe Zhang
 Fix For: 3.0.0

 Attachments: HDFS-6987-20140917-v1.patch, 
 HDFS-6987-20140918-v1.patch, HDFS-6987-20140919-v1.patch, 
 HDFS-6987-20140919-v2.patch, HDFS-6987-20140919-v3.patch, 
 HDFS-6987-20140920-v1.patch, HDFS-6987-branch-2-v2.patch


 All files within a single EZ need to be encrypted with the same CipherSuite. 
 Because of this, I think we can store the CipherSuite once in the EZ rather 
 than on each file.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Updated] (HDFS-6877) Avoid calling checkDisk when an HDFS volume is removed during a write.

2014-09-24 Thread Lei (Eddy) Xu (JIRA)

 [ 
https://issues.apache.org/jira/browse/HDFS-6877?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Lei (Eddy) Xu updated HDFS-6877:

Summary: Avoid calling checkDisk when an HDFS volume is removed during a 
write.  (was: Avoid calling checkDisk and stop active BlockReceiver thread when 
an HDFS volume is removed during a write.)

 Avoid calling checkDisk when an HDFS volume is removed during a write.
 --

 Key: HDFS-6877
 URL: https://issues.apache.org/jira/browse/HDFS-6877
 Project: Hadoop HDFS
  Issue Type: Sub-task
  Components: datanode
Affects Versions: 2.5.0
Reporter: Lei (Eddy) Xu
Assignee: Lei (Eddy) Xu
 Attachments: HDFS-6877.000.consolidate.txt, 
 HDFS-6877.000.delta-HDFS-6727.txt, HDFS-6877.001.combo.txt, 
 HDFS-6877.001.patch, HDFS-6877.002.patch, HDFS-6877.003.patch, 
 HDFS-6877.004.patch, HDFS-6877.005.patch, HDFS-6877.006.patch


 Avoid calling checkDisk and stop active BlockReceiver thread when an HDFS 
 volume is removed during a write.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (HDFS-7122) Very poor distribution of replication copies

2014-09-24 Thread Suresh Srinivas (JIRA)

[ 
https://issues.apache.org/jira/browse/HDFS-7122?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14146615#comment-14146615
 ] 

Suresh Srinivas commented on HDFS-7122:
---

[~andrew.wang], my preference is to revert the patch and commit the patch back 
with all the required fixes. But I will leave it up to you (reluctantly), if 
you think this can be fixed in a couple of days.

 Very poor distribution of replication copies
 

 Key: HDFS-7122
 URL: https://issues.apache.org/jira/browse/HDFS-7122
 Project: Hadoop HDFS
  Issue Type: Bug
  Components: namenode
Affects Versions: 2.3.0
 Environment: medium-large environments with 100's to 1000's of DNs 
 will be most affected, but potentially all environments.
Reporter: Jeff Buell
Assignee: Andrew Wang
Priority: Blocker
  Labels: performance

 Summary:
 Since HDFS-6268, the distribution of replica block copies across the 
 DataNodes (replicas 2,3,... as distinguished from the first primary 
 replica) is extremely poor, to the point that TeraGen slows down by as much 
 as 3X for certain configurations.  This is almost certainly due to the 
 introduction of Thread Local Random in HDFS-6268.  The mechanism appears to 
 be that this change causes all the random numbers in the threads to be 
 correlated, thus preventing a truly random choice of DN for each replica copy.
 Testing details:
 1 TB TeraGen on 638 slave nodes (virtual machines on 32 physical hosts), 
 256MB block size.  This results in 6 primary blocks on each DN.  With 
 replication=3, there will be on average 12 more copies on each DN that are 
 copies of blocks from other DNs.  Because of the random selection of DNs, 
 exactly 12 copies are not expected, but I found that about 160 DNs (1/4 of 
 all DNs!) received absolutely no copies, while one DN received over 100 
 copies, and the elapsed time increased by about 3X from a pre-HDFS-6268 
 distro.  There was no pattern to which DNs didn't receive copies, nor was the 
 set of such DNs repeatable run-to-run. In addition to the performance 
 problem, there could be capacity problems due to one or a few DNs running out 
 of space. Testing was done on CDH 5.0.0 (before) and CDH 5.1.2 (after), but I 
 don't see a significant difference from the Apache Hadoop source in this 
 regard. The workaround to recover the previous behavior is to set 
 dfs.namenode.handler.count=1 but of course this has scaling implications for 
 large clusters.
 I recommend that the ThreadLocal Random part of HDFS-6268 be reverted until a 
 better algorithm can be implemented and tested.  Testing should include a 
 case with many DNs and a small number of blocks on each.
 It should also be noted that even pre-HDFS-6268, the random choice of DN 
 algorithm produces a rather non-uniform distribution of copies.  This is not 
 due to any bug, but purely a case of random distributions being much less 
 uniform than one might intuitively expect. In the above case, pre-HDFS-6268 
 yields something like a range of 3 to 25 block copies on each DN. 
 Surprisingly, the performance penalty of this non-uniformity is not as big as 
 might be expected (maybe only 10-20%), but HDFS should do better, and in any 
 case the capacity issue remains.  Round-robin choice of DN?  Better awareness 
 of which DNs currently store fewer blocks? It's not sufficient that the total 
 number of blocks is similar on each DN at the end, but that at each point in 
 time no individual DN receives a disproportionate number of blocks at once 
 (which could be a danger of a RR algorithm).
 Probably should limit this jira to tracking the ThreadLocal issue, and track 
 the random choice issue in another one.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (HDFS-7139) Unit test for creating encryption zone on root path

2014-09-24 Thread Hadoop QA (JIRA)

[ 
https://issues.apache.org/jira/browse/HDFS-7139?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14146624#comment-14146624
 ] 

Hadoop QA commented on HDFS-7139:
-

{color:red}-1 overall{color}.  Here are the results of testing the latest 
attachment 
  http://issues.apache.org/jira/secure/attachment/12670997/HDFS-7139.patch
  against trunk revision 073bbd8.

{color:green}+1 @author{color}.  The patch does not contain any @author 
tags.

{color:red}-1 tests included{color}.  The patch doesn't appear to include 
any new or modified tests.
Please justify why no new tests are needed for this 
patch.
Also please list what manual steps were performed to 
verify this patch.

{color:red}-1 patch{color}.  The patch command could not apply the patch.

Console output: https://builds.apache.org/job/PreCommit-HDFS-Build/8183//console

This message is automatically generated.

 Unit test for creating encryption zone on root path
 ---

 Key: HDFS-7139
 URL: https://issues.apache.org/jira/browse/HDFS-7139
 Project: Hadoop HDFS
  Issue Type: Sub-task
Reporter: Zhe Zhang
Assignee: Zhe Zhang
Priority: Minor
 Attachments: HDFS-7139.patch






--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Updated] (HDFS-7104) Fix and clarify INodeInPath getter functions

2014-09-24 Thread Zhe Zhang (JIRA)

 [ 
https://issues.apache.org/jira/browse/HDFS-7104?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Zhe Zhang updated HDFS-7104:

Attachment: HDFS-7104-20140924-v1.patch

{{TestSnapshotPathINodes#testSnapshotPathINodes}} originally calls 
{{getINodes()}} to trim the {{inodes}} array, and then verifies that 
{{getLastINode}} returns the last _regular_ inode (not null inode introduced by 
dot-snapshot paths). This is the wrong way of using {{getINodes}}, which is 
only a getter.

 Fix and clarify INodeInPath getter functions
 

 Key: HDFS-7104
 URL: https://issues.apache.org/jira/browse/HDFS-7104
 Project: Hadoop HDFS
  Issue Type: Bug
Reporter: Zhe Zhang
Assignee: Zhe Zhang
Priority: Minor
 Attachments: HDFS-7104-20140923-v1.patch, 
 HDFS-7104-20140923-v3.patch, HDFS-7104-20140924-v1.patch


 inodes is initialized with the number of patch components. After resolve, it 
 contains both non-null and null elements (introduced by dot-snapshot dirs).
 When getINodes is called, an array is returned excluding all non elements, 
 which is the correct behavior. Meanwhile, the inodes array is trimmed too, 
 which shouldn't be done by a getter.
 Because of the above, the behavior of getINodesInPath depends on whether 
 getINodes has been called, which is not correct.
 The name of getLastINodeInPath is confusing – it actually returns the last 
 non-null inode in the path. Also, shouldn't the return type be a single INode?



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (HDFS-6894) Add XDR parser method for each NFS response

2014-09-24 Thread Hadoop QA (JIRA)

[ 
https://issues.apache.org/jira/browse/HDFS-6894?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14146636#comment-14146636
 ] 

Hadoop QA commented on HDFS-6894:
-

{color:red}-1 overall{color}.  Here are the results of testing the latest 
attachment 
  http://issues.apache.org/jira/secure/attachment/12670129/HDFS-6894.001.patch
  against trunk revision 073bbd8.

{color:red}-1 patch{color}.  Trunk compilation may be broken.

Console output: https://builds.apache.org/job/PreCommit-HDFS-Build/8184//console

This message is automatically generated.

 Add XDR parser method for each NFS response
 ---

 Key: HDFS-6894
 URL: https://issues.apache.org/jira/browse/HDFS-6894
 Project: Hadoop HDFS
  Issue Type: Sub-task
  Components: nfs
Reporter: Brandon Li
Assignee: Brandon Li
 Attachments: HDFS-6894.001.patch


 This can be an abstract method in NFS3Response to force the subclasses to 
 implement.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (HDFS-6581) Write to single replica in memory

2014-09-24 Thread Andrew Wang (JIRA)

[ 
https://issues.apache.org/jira/browse/HDFS-6581?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14146647#comment-14146647
 ] 

Andrew Wang commented on HDFS-6581:
---

Thanks for running these numbers Arpit. To convert into MB/s, it seems like 
we're going from 280 or 292 MB/s baseline to 455 or 487MBs with csums off.

Are you aware of any further copies that can be eliminated in DTP, or via 
something like short-circuit writes? I'd be satisfied regarding the merge if we 
had a pretty good estimate of the perf after such improvements are made. Saying 
that we could go from e.g. 4 copies to 2 copies would suffice for this, better 
would be results from a prototype.

 Write to single replica in memory
 -

 Key: HDFS-6581
 URL: https://issues.apache.org/jira/browse/HDFS-6581
 Project: Hadoop HDFS
  Issue Type: Bug
  Components: datanode
Reporter: Arpit Agarwal
Assignee: Arpit Agarwal
 Attachments: HDFS-6581.merge.01.patch, HDFS-6581.merge.02.patch, 
 HDFS-6581.merge.03.patch, HDFS-6581.merge.04.patch, HDFS-6581.merge.05.patch, 
 HDFS-6581.merge.06.patch, HDFS-6581.merge.07.patch, HDFS-6581.merge.08.patch, 
 HDFS-6581.merge.09.patch, HDFS-6581.merge.10.patch, 
 HDFSWriteableReplicasInMemory.pdf, Test-Plan-for-HDFS-6581-Memory-Storage.pdf


 Per discussion with the community on HDFS-5851, we will implement writing to 
 a single replica in DN memory via DataTransferProtocol.
 This avoids some of the issues with short-circuit writes, which we can 
 revisit at a later time.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Created] (HDFS-7140) Add a tool to list all the existing block storage policies

2014-09-24 Thread Jing Zhao (JIRA)
Jing Zhao created HDFS-7140:
---

 Summary: Add a tool to list all the existing block storage policies
 Key: HDFS-7140
 URL: https://issues.apache.org/jira/browse/HDFS-7140
 Project: Hadoop HDFS
  Issue Type: Sub-task
Affects Versions: 3.0.0
Reporter: Jing Zhao
Assignee: Jing Zhao
Priority: Minor


After adding a new DistributedFileSystem API to allow normal users to get all 
the block storage policies, we should also provide a simple tool to list these 
policies.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Updated] (HDFS-7139) Unit test for creating encryption zone on root path

2014-09-24 Thread Zhe Zhang (JIRA)

 [ 
https://issues.apache.org/jira/browse/HDFS-7139?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Zhe Zhang updated HDFS-7139:

Attachment: HDFS-7139-v2.patch

[~clamb] Thanks for the review. I've added those assertions.

 Unit test for creating encryption zone on root path
 ---

 Key: HDFS-7139
 URL: https://issues.apache.org/jira/browse/HDFS-7139
 Project: Hadoop HDFS
  Issue Type: Sub-task
Reporter: Zhe Zhang
Assignee: Zhe Zhang
Priority: Minor
 Attachments: HDFS-7139-v2.patch, HDFS-7139.patch






--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Updated] (HDFS-7140) Add a tool to list all the existing block storage policies

2014-09-24 Thread Jing Zhao (JIRA)

 [ 
https://issues.apache.org/jira/browse/HDFS-7140?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Jing Zhao updated HDFS-7140:

Attachment: HDFS-7140.001.patch
HDFS-7140.000.patch

patch 001 removes the changes on hdfs.cmd from patch 000 so that the Jenkins 
can pick it up.

 Add a tool to list all the existing block storage policies
 --

 Key: HDFS-7140
 URL: https://issues.apache.org/jira/browse/HDFS-7140
 Project: Hadoop HDFS
  Issue Type: Sub-task
  Components: balancer, namenode
Affects Versions: 3.0.0
Reporter: Jing Zhao
Assignee: Jing Zhao
Priority: Minor
 Attachments: HDFS-7140.000.patch, HDFS-7140.001.patch


 After adding a new DistributedFileSystem API to allow normal users to get all 
 the block storage policies, we should also provide a simple tool to list 
 these policies.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (HDFS-7139) Unit test for creating encryption zone on root path

2014-09-24 Thread Charles Lamb (JIRA)

[ 
https://issues.apache.org/jira/browse/HDFS-7139?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14146664#comment-14146664
 ] 

Charles Lamb commented on HDFS-7139:


+1 (non-binding) from me. Thanks again Zhe.


 Unit test for creating encryption zone on root path
 ---

 Key: HDFS-7139
 URL: https://issues.apache.org/jira/browse/HDFS-7139
 Project: Hadoop HDFS
  Issue Type: Sub-task
Reporter: Zhe Zhang
Assignee: Zhe Zhang
Priority: Minor
 Attachments: HDFS-7139-v2.patch, HDFS-7139.patch






--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (HDFS-6581) Write to single replica in memory

2014-09-24 Thread Arpit Agarwal (JIRA)

[ 
https://issues.apache.org/jira/browse/HDFS-6581?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14146704#comment-14146704
 ] 

Arpit Agarwal commented on HDFS-6581:
-

I have not looked at the DataTransferProtocol well enough to understand how 
many copies we can eliminate. Reads get 1GB/s over the same protocol so 
intuitively we should be able to optimize writes to get a similar number. 
However improving the transfer protocol is a separate feature in itself and 
should not gate the current changes.

 Write to single replica in memory
 -

 Key: HDFS-6581
 URL: https://issues.apache.org/jira/browse/HDFS-6581
 Project: Hadoop HDFS
  Issue Type: Bug
  Components: datanode
Reporter: Arpit Agarwal
Assignee: Arpit Agarwal
 Attachments: HDFS-6581.merge.01.patch, HDFS-6581.merge.02.patch, 
 HDFS-6581.merge.03.patch, HDFS-6581.merge.04.patch, HDFS-6581.merge.05.patch, 
 HDFS-6581.merge.06.patch, HDFS-6581.merge.07.patch, HDFS-6581.merge.08.patch, 
 HDFS-6581.merge.09.patch, HDFS-6581.merge.10.patch, 
 HDFSWriteableReplicasInMemory.pdf, Test-Plan-for-HDFS-6581-Memory-Storage.pdf


 Per discussion with the community on HDFS-5851, we will implement writing to 
 a single replica in DN memory via DataTransferProtocol.
 This avoids some of the issues with short-circuit writes, which we can 
 revisit at a later time.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (HDFS-6987) Move CipherSuite xattr information up to the encryption zone root

2014-09-24 Thread Andrew Wang (JIRA)

[ 
https://issues.apache.org/jira/browse/HDFS-6987?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14146734#comment-14146734
 ] 

Andrew Wang commented on HDFS-6987:
---

I'm +1 on this branch-2 patch, thanks Zhe. Will commit shortly.

 Move CipherSuite xattr information up to the encryption zone root
 -

 Key: HDFS-6987
 URL: https://issues.apache.org/jira/browse/HDFS-6987
 Project: Hadoop HDFS
  Issue Type: Sub-task
  Components: encryption
Reporter: Andrew Wang
Assignee: Zhe Zhang
 Fix For: 3.0.0

 Attachments: HDFS-6987-20140917-v1.patch, 
 HDFS-6987-20140918-v1.patch, HDFS-6987-20140919-v1.patch, 
 HDFS-6987-20140919-v2.patch, HDFS-6987-20140919-v3.patch, 
 HDFS-6987-20140920-v1.patch, HDFS-6987-branch-2-v2.patch


 All files within a single EZ need to be encrypted with the same CipherSuite. 
 Because of this, I think we can store the CipherSuite once in the EZ rather 
 than on each file.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Updated] (HDFS-7076) Persist Block Storage Policy in FSImage and Edit Log

2014-09-24 Thread Jing Zhao (JIRA)

 [ 
https://issues.apache.org/jira/browse/HDFS-7076?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Jing Zhao updated HDFS-7076:

Status: Patch Available  (was: Open)

 Persist Block Storage Policy in FSImage and Edit Log
 

 Key: HDFS-7076
 URL: https://issues.apache.org/jira/browse/HDFS-7076
 Project: Hadoop HDFS
  Issue Type: Sub-task
  Components: balancer, namenode
Reporter: Jing Zhao
Assignee: Jing Zhao
 Attachments: HDFS-7076.000.patch, HDFS-7076.001.patch, editsStored


 Currently block storage policies are loaded from a XML file. This may lead to 
 policy inconsistency if the content of the XML gets modified or if the XML 
 file is replaced by mistake. Thus it is better to persist policies in 
 editlog/fsimage.
 Specifically we plan to do the following in this jira:
 # Add new DistributedFileSystem API for getting all the existing storage 
 policies
 # Add new DistributedFileSystem/HdfsAdmin API for adding a new storage 
 policy. The new storage policy is then persisted in editlog and later fsimage 
 while checkpointing.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Updated] (HDFS-7076) Persist Block Storage Policy in FSImage and Edit Log

2014-09-24 Thread Jing Zhao (JIRA)

 [ 
https://issues.apache.org/jira/browse/HDFS-7076?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Jing Zhao updated HDFS-7076:

Attachment: HDFS-7076.001.patch
editsStored

Rebase the patch after HDFS-7081 got committed.

 Persist Block Storage Policy in FSImage and Edit Log
 

 Key: HDFS-7076
 URL: https://issues.apache.org/jira/browse/HDFS-7076
 Project: Hadoop HDFS
  Issue Type: Sub-task
  Components: balancer, namenode
Reporter: Jing Zhao
Assignee: Jing Zhao
 Attachments: HDFS-7076.000.patch, HDFS-7076.001.patch, editsStored


 Currently block storage policies are loaded from a XML file. This may lead to 
 policy inconsistency if the content of the XML gets modified or if the XML 
 file is replaced by mistake. Thus it is better to persist policies in 
 editlog/fsimage.
 Specifically we plan to do the following in this jira:
 # Add new DistributedFileSystem API for getting all the existing storage 
 policies
 # Add new DistributedFileSystem/HdfsAdmin API for adding a new storage 
 policy. The new storage policy is then persisted in editlog and later fsimage 
 while checkpointing.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (HDFS-7049) TestByteRangeInputStream.testPropagatedClose fails and throw NPE on branch-2

2014-09-24 Thread Haohui Mai (JIRA)

[ 
https://issues.apache.org/jira/browse/HDFS-7049?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14146740#comment-14146740
 ] 

Haohui Mai commented on HDFS-7049:
--

+1

 TestByteRangeInputStream.testPropagatedClose fails and throw NPE on branch-2
 

 Key: HDFS-7049
 URL: https://issues.apache.org/jira/browse/HDFS-7049
 Project: Hadoop HDFS
  Issue Type: Bug
  Components: test
Affects Versions: 2.5.0
Reporter: Juan Yu
Assignee: Juan Yu
Priority: Minor
 Attachments: HDFS-7049-branch-2.002.patch, HDFS-7049-branch-2.patch


 On branch-2, TestByteRangeInputStream.testPropagatedClose throw NPE when 
 HftpFileSystem$RangeHeaderUrlOpener.connect
 This is due to fix of HDFS-6143 WebHdfsFileSystem open should throw 
 FileNotFoundException for non-existing paths
 public ByteRangeInputStream(URLOpener o, URLOpener r) throws IOException {
 this.originalURL = o;
 this.resolvedURL = r;
 getInputStream();
   }
 the getInputStream() will be called in constructor now to verify if file 
 exists.
 Since we just try to test if ByteRangeInputStream#close is called at proper 
 time, we could mock(ByteRangeInputStream.class, CALLS_REAL_METHODS) for 
 testing to avoid the NPE issue.
 I believe the trunk version already does this, we just need to merge the test 
 from trunk.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Updated] (HDFS-7049) TestByteRangeInputStream.testPropagatedClose fails and throw NPE on branch-2

2014-09-24 Thread Haohui Mai (JIRA)

 [ 
https://issues.apache.org/jira/browse/HDFS-7049?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Haohui Mai updated HDFS-7049:
-
   Resolution: Fixed
Fix Version/s: 2.6.0
 Hadoop Flags: Reviewed
   Status: Resolved  (was: Patch Available)

I've committed the patch to branch-2. Thanks [~j...@cloudera.com] for reporting 
the issue and fixing it.

 TestByteRangeInputStream.testPropagatedClose fails and throw NPE on branch-2
 

 Key: HDFS-7049
 URL: https://issues.apache.org/jira/browse/HDFS-7049
 Project: Hadoop HDFS
  Issue Type: Bug
  Components: test
Affects Versions: 2.5.0
Reporter: Juan Yu
Assignee: Juan Yu
Priority: Minor
 Fix For: 2.6.0

 Attachments: HDFS-7049-branch-2.002.patch, HDFS-7049-branch-2.patch


 On branch-2, TestByteRangeInputStream.testPropagatedClose throw NPE when 
 HftpFileSystem$RangeHeaderUrlOpener.connect
 This is due to fix of HDFS-6143 WebHdfsFileSystem open should throw 
 FileNotFoundException for non-existing paths
 public ByteRangeInputStream(URLOpener o, URLOpener r) throws IOException {
 this.originalURL = o;
 this.resolvedURL = r;
 getInputStream();
   }
 the getInputStream() will be called in constructor now to verify if file 
 exists.
 Since we just try to test if ByteRangeInputStream#close is called at proper 
 time, we could mock(ByteRangeInputStream.class, CALLS_REAL_METHODS) for 
 testing to avoid the NPE issue.
 I believe the trunk version already does this, we just need to merge the test 
 from trunk.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Updated] (HDFS-6987) Move CipherSuite xattr information up to the encryption zone root

2014-09-24 Thread Andrew Wang (JIRA)

 [ 
https://issues.apache.org/jira/browse/HDFS-6987?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Andrew Wang updated HDFS-6987:
--
   Resolution: Fixed
Fix Version/s: (was: 3.0.0)
   2.6.0
   Status: Resolved  (was: Patch Available)

Committed to branch-2 as well, thanks again Zhe.

 Move CipherSuite xattr information up to the encryption zone root
 -

 Key: HDFS-6987
 URL: https://issues.apache.org/jira/browse/HDFS-6987
 Project: Hadoop HDFS
  Issue Type: Sub-task
  Components: encryption
Reporter: Andrew Wang
Assignee: Zhe Zhang
 Fix For: 2.6.0

 Attachments: HDFS-6987-20140917-v1.patch, 
 HDFS-6987-20140918-v1.patch, HDFS-6987-20140919-v1.patch, 
 HDFS-6987-20140919-v2.patch, HDFS-6987-20140919-v3.patch, 
 HDFS-6987-20140920-v1.patch, HDFS-6987-branch-2-v2.patch


 All files within a single EZ need to be encrypted with the same CipherSuite. 
 Because of this, I think we can store the CipherSuite once in the EZ rather 
 than on each file.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (HDFS-6987) Move CipherSuite xattr information up to the encryption zone root

2014-09-24 Thread Zhe Zhang (JIRA)

[ 
https://issues.apache.org/jira/browse/HDFS-6987?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14146750#comment-14146750
 ] 

Zhe Zhang commented on HDFS-6987:
-

[~andrew.wang] [~clamb] [~tucu00] Many thanks for the reviews and coding tips.

 Move CipherSuite xattr information up to the encryption zone root
 -

 Key: HDFS-6987
 URL: https://issues.apache.org/jira/browse/HDFS-6987
 Project: Hadoop HDFS
  Issue Type: Sub-task
  Components: encryption
Reporter: Andrew Wang
Assignee: Zhe Zhang
 Fix For: 2.6.0

 Attachments: HDFS-6987-20140917-v1.patch, 
 HDFS-6987-20140918-v1.patch, HDFS-6987-20140919-v1.patch, 
 HDFS-6987-20140919-v2.patch, HDFS-6987-20140919-v3.patch, 
 HDFS-6987-20140920-v1.patch, HDFS-6987-branch-2-v2.patch


 All files within a single EZ need to be encrypted with the same CipherSuite. 
 Because of this, I think we can store the CipherSuite once in the EZ rather 
 than on each file.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (HDFS-7049) TestByteRangeInputStream.testPropagatedClose fails and throw NPE on branch-2

2014-09-24 Thread Juan Yu (JIRA)

[ 
https://issues.apache.org/jira/browse/HDFS-7049?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14146758#comment-14146758
 ] 

Juan Yu commented on HDFS-7049:
---

Thanks all for reviewing.

 TestByteRangeInputStream.testPropagatedClose fails and throw NPE on branch-2
 

 Key: HDFS-7049
 URL: https://issues.apache.org/jira/browse/HDFS-7049
 Project: Hadoop HDFS
  Issue Type: Bug
  Components: test
Affects Versions: 2.5.0
Reporter: Juan Yu
Assignee: Juan Yu
Priority: Minor
 Fix For: 2.6.0

 Attachments: HDFS-7049-branch-2.002.patch, HDFS-7049-branch-2.patch


 On branch-2, TestByteRangeInputStream.testPropagatedClose throw NPE when 
 HftpFileSystem$RangeHeaderUrlOpener.connect
 This is due to fix of HDFS-6143 WebHdfsFileSystem open should throw 
 FileNotFoundException for non-existing paths
 public ByteRangeInputStream(URLOpener o, URLOpener r) throws IOException {
 this.originalURL = o;
 this.resolvedURL = r;
 getInputStream();
   }
 the getInputStream() will be called in constructor now to verify if file 
 exists.
 Since we just try to test if ByteRangeInputStream#close is called at proper 
 time, we could mock(ByteRangeInputStream.class, CALLS_REAL_METHODS) for 
 testing to avoid the NPE issue.
 I believe the trunk version already does this, we just need to merge the test 
 from trunk.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (HDFS-7118) Improve diagnostics on storage directory rename operations by using NativeIO#renameTo in Storage#rename.

2014-09-24 Thread jay vyas (JIRA)

[ 
https://issues.apache.org/jira/browse/HDFS-7118?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14146767#comment-14146767
 ] 

jay vyas commented on HDFS-7118:


Is this a hadoop common issue, or a HDFS specific issue?

 Improve diagnostics on storage directory rename operations by using 
 NativeIO#renameTo in Storage#rename.
 

 Key: HDFS-7118
 URL: https://issues.apache.org/jira/browse/HDFS-7118
 Project: Hadoop HDFS
  Issue Type: Sub-task
  Components: journal-node, namenode
Reporter: Chris Nauroth
Assignee: Chris Nauroth

 If a file rename fails, {{NativeIO#renameTo}} includes more information about 
 the root cause than a plain {{java.io.File#renameTo}}.  The native code can 
 throw an exception with a detailed error message and the {{errno}} on *nix or 
 the value of {{GetLastError}} on Windows.  This issue proposes to use 
 {{NativeIO#renameTo}} inside or in place of {{Storage#rename}} to help 
 improve diagnostics.  The method falls back to {{java.io.File#renameTo}} if 
 native code is not loaded, so this change would not introduce a compatibility 
 problem for deployments running without native code.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (HDFS-6581) Write to single replica in memory

2014-09-24 Thread Suresh Srinivas (JIRA)

[ 
https://issues.apache.org/jira/browse/HDFS-6581?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14146774#comment-14146774
 ] 

Suresh Srinivas commented on HDFS-6581:
---

bq. I'd be satisfied regarding the merge if we had a pretty good estimate of 
the perf after such improvements are made.
[~andrew.wang], why does that gate this merge? If that is an important feature, 
certainly please consider creating a jira and making further improvements. But 
I am at a loss at all the issues we keep bringing up as requirements for the 
merge, despite a lot of work done to ensure valid concerns people are raising 
are addressed.

 Write to single replica in memory
 -

 Key: HDFS-6581
 URL: https://issues.apache.org/jira/browse/HDFS-6581
 Project: Hadoop HDFS
  Issue Type: Bug
  Components: datanode
Reporter: Arpit Agarwal
Assignee: Arpit Agarwal
 Attachments: HDFS-6581.merge.01.patch, HDFS-6581.merge.02.patch, 
 HDFS-6581.merge.03.patch, HDFS-6581.merge.04.patch, HDFS-6581.merge.05.patch, 
 HDFS-6581.merge.06.patch, HDFS-6581.merge.07.patch, HDFS-6581.merge.08.patch, 
 HDFS-6581.merge.09.patch, HDFS-6581.merge.10.patch, 
 HDFSWriteableReplicasInMemory.pdf, Test-Plan-for-HDFS-6581-Memory-Storage.pdf


 Per discussion with the community on HDFS-5851, we will implement writing to 
 a single replica in DN memory via DataTransferProtocol.
 This avoids some of the issues with short-circuit writes, which we can 
 revisit at a later time.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Work started] (HDFS-7011) Implement basic utilities for libhdfs3

2014-09-24 Thread Colin Patrick McCabe (JIRA)

 [ 
https://issues.apache.org/jira/browse/HDFS-7011?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Work on HDFS-7011 started by Colin Patrick McCabe.
--
 Implement basic utilities for libhdfs3
 --

 Key: HDFS-7011
 URL: https://issues.apache.org/jira/browse/HDFS-7011
 Project: Hadoop HDFS
  Issue Type: Sub-task
  Components: hdfs-client
Reporter: Zhanwei Wang
Assignee: Colin Patrick McCabe
 Attachments: HDFS-7011-pnative.001.patch, 
 HDFS-7011-pnative.002.patch, HDFS-7011.patch


 Implement basic utilities such as hash, exception handling, logger, configure 
 parser, checksum calculate and so on.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Updated] (HDFS-7011) Implement basic utilities for libhdfs3

2014-09-24 Thread Colin Patrick McCabe (JIRA)

 [ 
https://issues.apache.org/jira/browse/HDFS-7011?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Colin Patrick McCabe updated HDFS-7011:
---
Attachment: HDFS-7011-pnative.002.patch

 Implement basic utilities for libhdfs3
 --

 Key: HDFS-7011
 URL: https://issues.apache.org/jira/browse/HDFS-7011
 Project: Hadoop HDFS
  Issue Type: Sub-task
  Components: hdfs-client
Reporter: Zhanwei Wang
Assignee: Colin Patrick McCabe
 Attachments: HDFS-7011-pnative.001.patch, 
 HDFS-7011-pnative.002.patch, HDFS-7011.patch


 Implement basic utilities such as hash, exception handling, logger, configure 
 parser, checksum calculate and so on.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (HDFS-7011) Implement basic utilities for libhdfs3

2014-09-24 Thread Colin Patrick McCabe (JIRA)

[ 
https://issues.apache.org/jira/browse/HDFS-7011?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14146779#comment-14146779
 ] 

Colin Patrick McCabe commented on HDFS-7011:


* add ifndef back to DEFAULT_STACK_PREFIX

* change namespace hdfs3 to namespace hdfs

* block more signals in {{ThreadBlockSignal}}

 Implement basic utilities for libhdfs3
 --

 Key: HDFS-7011
 URL: https://issues.apache.org/jira/browse/HDFS-7011
 Project: Hadoop HDFS
  Issue Type: Sub-task
  Components: hdfs-client
Reporter: Zhanwei Wang
Assignee: Colin Patrick McCabe
 Attachments: HDFS-7011-pnative.001.patch, 
 HDFS-7011-pnative.002.patch, HDFS-7011.patch


 Implement basic utilities such as hash, exception handling, logger, configure 
 parser, checksum calculate and so on.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (HDFS-7118) Improve diagnostics on storage directory rename operations by using NativeIO#renameTo in Storage#rename.

2014-09-24 Thread Chris Nauroth (JIRA)

[ 
https://issues.apache.org/jira/browse/HDFS-7118?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14146784#comment-14146784
 ] 

Chris Nauroth commented on HDFS-7118:
-

Hi, [~jayunit100].  In this case, it's an HDFS-specific issue.  HDFS currently 
calls {{java.io.File#renameTo}} in a few places, which doesn't propagate full 
error details.  We already implemented {{NativeIO#renameTo}} in hadoop-common a 
while back to address similar issues.  I don't anticipate any hadoop-common 
changes as part of this.  I think we'll just change HDFS code to call what 
already exists in Common.

 Improve diagnostics on storage directory rename operations by using 
 NativeIO#renameTo in Storage#rename.
 

 Key: HDFS-7118
 URL: https://issues.apache.org/jira/browse/HDFS-7118
 Project: Hadoop HDFS
  Issue Type: Sub-task
  Components: journal-node, namenode
Reporter: Chris Nauroth
Assignee: Chris Nauroth

 If a file rename fails, {{NativeIO#renameTo}} includes more information about 
 the root cause than a plain {{java.io.File#renameTo}}.  The native code can 
 throw an exception with a detailed error message and the {{errno}} on *nix or 
 the value of {{GetLastError}} on Windows.  This issue proposes to use 
 {{NativeIO#renameTo}} inside or in place of {{Storage#rename}} to help 
 improve diagnostics.  The method falls back to {{java.io.File#renameTo}} if 
 native code is not loaded, so this change would not introduce a compatibility 
 problem for deployments running without native code.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (HDFS-7104) Fix and clarify INodeInPath getter functions

2014-09-24 Thread Hadoop QA (JIRA)

[ 
https://issues.apache.org/jira/browse/HDFS-7104?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14146794#comment-14146794
 ] 

Hadoop QA commented on HDFS-7104:
-

{color:red}-1 overall{color}.  Here are the results of testing the latest 
attachment 
  
http://issues.apache.org/jira/secure/attachment/12670999/HDFS-7104-20140924-v1.patch
  against trunk revision 073bbd8.

{color:green}+1 @author{color}.  The patch does not contain any @author 
tags.

{color:green}+1 tests included{color}.  The patch appears to include 1 new 
or modified test files.

  {color:red}-1 javac{color}.  The applied patch generated 1264 javac 
compiler warnings (more than the trunk's current 1263 warnings).

{color:green}+1 javadoc{color}.  There were no new javadoc warning messages.

{color:green}+1 eclipse:eclipse{color}.  The patch built with 
eclipse:eclipse.

{color:green}+1 findbugs{color}.  The patch does not introduce any new 
Findbugs (version 2.0.3) warnings.

{color:green}+1 release audit{color}.  The applied patch does not increase 
the total number of release audit warnings.

{color:red}-1 core tests{color}.  The patch failed these unit tests in 
hadoop-hdfs-project/hadoop-hdfs:

  org.apache.hadoop.hdfs.TestEncryptionZonesWithKMS

  The following test timeouts occurred in 
hadoop-hdfs-project/hadoop-hdfs:

org.apache.hadoop.hdfs.TestParallelUnixDomainRead

{color:green}+1 contrib tests{color}.  The patch passed contrib unit tests.

Test results: 
https://builds.apache.org/job/PreCommit-HDFS-Build/8185//testReport/
Javac warnings: 
https://builds.apache.org/job/PreCommit-HDFS-Build/8185//artifact/PreCommit-HADOOP-Build-patchprocess/diffJavacWarnings.txt
Console output: https://builds.apache.org/job/PreCommit-HDFS-Build/8185//console

This message is automatically generated.

 Fix and clarify INodeInPath getter functions
 

 Key: HDFS-7104
 URL: https://issues.apache.org/jira/browse/HDFS-7104
 Project: Hadoop HDFS
  Issue Type: Bug
Reporter: Zhe Zhang
Assignee: Zhe Zhang
Priority: Minor
 Attachments: HDFS-7104-20140923-v1.patch, 
 HDFS-7104-20140923-v3.patch, HDFS-7104-20140924-v1.patch


 inodes is initialized with the number of patch components. After resolve, it 
 contains both non-null and null elements (introduced by dot-snapshot dirs).
 When getINodes is called, an array is returned excluding all non elements, 
 which is the correct behavior. Meanwhile, the inodes array is trimmed too, 
 which shouldn't be done by a getter.
 Because of the above, the behavior of getINodesInPath depends on whether 
 getINodes has been called, which is not correct.
 The name of getLastINodeInPath is confusing – it actually returns the last 
 non-null inode in the path. Also, shouldn't the return type be a single INode?



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (HDFS-7139) Unit test for creating encryption zone on root path

2014-09-24 Thread Hadoop QA (JIRA)

[ 
https://issues.apache.org/jira/browse/HDFS-7139?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14146793#comment-14146793
 ] 

Hadoop QA commented on HDFS-7139:
-

{color:red}-1 overall{color}.  Here are the results of testing the latest 
attachment 
  http://issues.apache.org/jira/secure/attachment/12671006/HDFS-7139-v2.patch
  against trunk revision 073bbd8.

{color:green}+1 @author{color}.  The patch does not contain any @author 
tags.

{color:green}+1 tests included{color}.  The patch appears to include 1 new 
or modified test files.

{color:green}+1 javac{color}.  The applied patch does not increase the 
total number of javac compiler warnings.

{color:green}+1 javadoc{color}.  There were no new javadoc warning messages.

{color:green}+1 eclipse:eclipse{color}.  The patch built with 
eclipse:eclipse.

{color:green}+1 findbugs{color}.  The patch does not introduce any new 
Findbugs (version 2.0.3) warnings.

{color:green}+1 release audit{color}.  The applied patch does not increase 
the total number of release audit warnings.

{color:red}-1 core tests{color}.  The patch failed these unit tests in 
hadoop-hdfs-project/hadoop-hdfs:

  org.apache.hadoop.hdfs.TestEncryptionZonesWithKMS

  The following test timeouts occurred in 
hadoop-hdfs-project/hadoop-hdfs:

org.apache.hadoop.hdfs.TestParallelUnixDomainRead

{color:green}+1 contrib tests{color}.  The patch passed contrib unit tests.

Test results: 
https://builds.apache.org/job/PreCommit-HDFS-Build/8186//testReport/
Console output: https://builds.apache.org/job/PreCommit-HDFS-Build/8186//console

This message is automatically generated.

 Unit test for creating encryption zone on root path
 ---

 Key: HDFS-7139
 URL: https://issues.apache.org/jira/browse/HDFS-7139
 Project: Hadoop HDFS
  Issue Type: Sub-task
Reporter: Zhe Zhang
Assignee: Zhe Zhang
Priority: Minor
 Attachments: HDFS-7139-v2.patch, HDFS-7139.patch






--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Resolved] (HDFS-5722) Implement compression in the HTTP server of SNN / SBN instead of FSImage

2014-09-24 Thread Haohui Mai (JIRA)

 [ 
https://issues.apache.org/jira/browse/HDFS-5722?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Haohui Mai resolved HDFS-5722.
--
Resolution: Invalid

As the current PB-based fsimage format compresses each section, this jira is no 
longer valid.

 Implement compression in the HTTP server of SNN / SBN instead of FSImage
 

 Key: HDFS-5722
 URL: https://issues.apache.org/jira/browse/HDFS-5722
 Project: Hadoop HDFS
  Issue Type: Sub-task
Reporter: Haohui Mai

 The current FSImage format support compression, there is a field in the 
 header which specifies the compression codec used to compress the data in the 
 image. The main motivation was to reduce the number of bytes to be 
 transferred between SNN / SBN / NN.
 The main disadvantage, however, is that it requires the client to access the 
 FSImage in strictly sequential order. This might not fit well with the new 
 design of FSImage. For example, serializing the data in protobuf allows the 
 client to quickly skip data that it does not understand. The compression 
 built-in the format, however, complicates the calculation of offsets and 
 lengths. Recovering from a corrupted, compressed FSImage is also non-trivial 
 as off-the-shelf tools like bzip2recover is inapplicable.
 This jira proposes to move the compression from the format of the FSImage to 
 the transport layer, namely, the HTTP server of SNN / SBN. This design 
 simplifies the format of FSImage, opens up the opportunity to quickly 
 navigate through the FSImage, and eases the process of recovery. It also 
 retains the benefits of reducing the number of bytes to be transferred across 
 the wire since there are compression on the transport layer.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (HDFS-6914) Resolve huge memory consumption Issue with OIV processing PB-based fsimages

2014-09-24 Thread Haohui Mai (JIRA)

[ 
https://issues.apache.org/jira/browse/HDFS-6914?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14146817#comment-14146817
 ] 

Haohui Mai commented on HDFS-6914:
--

[~haoch], do you mind if I take this jira and drive it forward?

 Resolve huge memory consumption Issue with OIV processing PB-based fsimages
 ---

 Key: HDFS-6914
 URL: https://issues.apache.org/jira/browse/HDFS-6914
 Project: Hadoop HDFS
  Issue Type: Bug
Affects Versions: 2.4.1
Reporter: Hao Chen
  Labels: hdfs
 Attachments: HDFS-6914.patch


 For better managing and supporting a lot of large hadoop clusters in 
 production, we internally need to automatically export fsimage to delimited 
 text files in LSR style and then analyse with hive or pig or build system 
 metrics for real-time analyzing. 
 However  due to the internal layout changes introduced by the protobuf-based 
 fsimage, OIV processing program consumes excessive amount of memory. For 
 example, in order to export the fsimage in size of 8GB, it should have taken 
 about 85GB memory which is really not reasonable and impacted performance of 
 other services badly in the same server.
 To resolve above problem, I submit this patch which will reduce memory 
 consumption of OIV LSR processing by 50%.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (HDFS-7104) Fix and clarify INodeInPath getter functions

2014-09-24 Thread Jing Zhao (JIRA)

[ 
https://issues.apache.org/jira/browse/HDFS-7104?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14146822#comment-14146822
 ] 

Jing Zhao commented on HDFS-7104:
-

The patch looks good. Some minors:
# looks like now we can declare {{inodes}} as final.
# For the new javadoc added for {{getINodes}}, it will be better to also point 
out that the new array's length will be equal to the value of {{capacity}}.
# Optional: there are also two javadoc errors in {{INodesInPath}} (for 
{{snapshotRootIndex}} and {{getSnapshotRootIndex}}). Maybe we can use this 
chance to fix them.

 Fix and clarify INodeInPath getter functions
 

 Key: HDFS-7104
 URL: https://issues.apache.org/jira/browse/HDFS-7104
 Project: Hadoop HDFS
  Issue Type: Bug
Reporter: Zhe Zhang
Assignee: Zhe Zhang
Priority: Minor
 Attachments: HDFS-7104-20140923-v1.patch, 
 HDFS-7104-20140923-v3.patch, HDFS-7104-20140924-v1.patch


 inodes is initialized with the number of patch components. After resolve, it 
 contains both non-null and null elements (introduced by dot-snapshot dirs).
 When getINodes is called, an array is returned excluding all non elements, 
 which is the correct behavior. Meanwhile, the inodes array is trimmed too, 
 which shouldn't be done by a getter.
 Because of the above, the behavior of getINodesInPath depends on whether 
 getINodes has been called, which is not correct.
 The name of getLastINodeInPath is confusing – it actually returns the last 
 non-null inode in the path. Also, shouldn't the return type be a single INode?



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (HDFS-6321) Add a message on the old web UI that indicates the old UI is deprecated

2014-09-24 Thread Haohui Mai (JIRA)

[ 
https://issues.apache.org/jira/browse/HDFS-6321?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14146823#comment-14146823
 ] 

Haohui Mai commented on HDFS-6321:
--

Instead of adding a new file, the modification should be done in 
{{dfshealth.jsp}} instead.

 Add a message on the old web UI that indicates the old UI is deprecated
 ---

 Key: HDFS-6321
 URL: https://issues.apache.org/jira/browse/HDFS-6321
 Project: Hadoop HDFS
  Issue Type: Improvement
Reporter: Haohui Mai
Assignee: Tassapol Athiapinya
 Attachments: HDFS-6321.000.patch, HDFS-6321.001.patch


 HDFS-6252 has removed the jsp ui from trunk. We should add a message in the 
 old web ui to indicate that the ui has been deprecated and ask the user to 
 move towards the new web ui. 



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (HDFS-6877) Avoid calling checkDisk when an HDFS volume is removed during a write.

2014-09-24 Thread Hadoop QA (JIRA)

[ 
https://issues.apache.org/jira/browse/HDFS-6877?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14146839#comment-14146839
 ] 

Hadoop QA commented on HDFS-6877:
-

{color:red}-1 overall{color}.  Here are the results of testing the latest 
attachment 
  http://issues.apache.org/jira/secure/attachment/12670996/HDFS-6877.006.patch
  against trunk revision 073bbd8.

{color:green}+1 @author{color}.  The patch does not contain any @author 
tags.

{color:green}+1 tests included{color}.  The patch appears to include 1 new 
or modified test files.

{color:green}+1 javac{color}.  The applied patch does not increase the 
total number of javac compiler warnings.

{color:green}+1 javadoc{color}.  There were no new javadoc warning messages.

{color:green}+1 eclipse:eclipse{color}.  The patch built with 
eclipse:eclipse.

{color:green}+1 findbugs{color}.  The patch does not introduce any new 
Findbugs (version 2.0.3) warnings.

{color:green}+1 release audit{color}.  The applied patch does not increase 
the total number of release audit warnings.

{color:red}-1 core tests{color}.  The patch failed these unit tests in 
hadoop-hdfs-project/hadoop-hdfs:

  org.apache.hadoop.hdfs.TestEncryptionZonesWithKMS
  org.apache.hadoop.hdfs.web.TestWebHdfsFileSystemContract
  
org.apache.hadoop.hdfs.server.namenode.ha.TestPipelinesFailover

  The following test timeouts occurred in 
hadoop-hdfs-project/hadoop-hdfs:

org.apache.hadoop.hdfs.server.datanode.TestMultipleNNDataBlockScanner

{color:green}+1 contrib tests{color}.  The patch passed contrib unit tests.

Test results: 
https://builds.apache.org/job/PreCommit-HDFS-Build/8182//testReport/
Console output: https://builds.apache.org/job/PreCommit-HDFS-Build/8182//console

This message is automatically generated.

 Avoid calling checkDisk when an HDFS volume is removed during a write.
 --

 Key: HDFS-6877
 URL: https://issues.apache.org/jira/browse/HDFS-6877
 Project: Hadoop HDFS
  Issue Type: Sub-task
  Components: datanode
Affects Versions: 2.5.0
Reporter: Lei (Eddy) Xu
Assignee: Lei (Eddy) Xu
 Attachments: HDFS-6877.000.consolidate.txt, 
 HDFS-6877.000.delta-HDFS-6727.txt, HDFS-6877.001.combo.txt, 
 HDFS-6877.001.patch, HDFS-6877.002.patch, HDFS-6877.003.patch, 
 HDFS-6877.004.patch, HDFS-6877.005.patch, HDFS-6877.006.patch


 Avoid calling checkDisk and stop active BlockReceiver thread when an HDFS 
 volume is removed during a write.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (HDFS-7036) HDFS-6776 fix requires to upgrade insecure cluster, which means quite some user pain

2014-09-24 Thread Haohui Mai (JIRA)

[ 
https://issues.apache.org/jira/browse/HDFS-7036?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14146861#comment-14146861
 ] 

Haohui Mai commented on HDFS-7036:
--

My position has not changed since HDFS-6776. Just to recap:

# This use case is so specific to distcp that it should be fixed distcp instead 
of the underlying filesystem implementation.
# This is a hack for compatibility. There are many more users of 
{{WebHdfsFileSystem}} compared to distcp. It is more reasonable to contain the 
changes at higher layers (i.e. distcp) to avoid surprises to other applications.

I understand that hacking {{WebHdfsFileSystem}} is an easy enough fix, I also 
understand that a hack might be needed either here or there, but parsing the 
exception message in {{WebHdfsFileSystem}} does not seem the right solution 
here.

If it turns out that this type of hack is unavoidable, I suggest doing it in 
distcp.



 HDFS-6776 fix requires to upgrade insecure cluster, which means quite some 
 user pain
 

 Key: HDFS-7036
 URL: https://issues.apache.org/jira/browse/HDFS-7036
 Project: Hadoop HDFS
  Issue Type: Bug
  Components: webhdfs
Affects Versions: 2.5.1
Reporter: Yongjun Zhang
Assignee: Yongjun Zhang
 Attachments: HDFS-7036.001.patch


 Issuing command
 {code}
  hadoop fs -lsr webhdfs://insecureCluster
 {code}
 at a secure cluster side fails with message Failed to get the token ..., 
 similar symptom as reported in HDFS-6776.
 If the fix of HDFS-6776 is applied to only the secure cluster, doing 
 {code}
 distcp webhdfs://insecureCluster secureCluster
 {code}
 would fail same way.
 Basically running any application in secure cluster to access insecure 
 cluster via webhdfs would fail the same way, if the HDFS-6776 fix is not 
 applied to the insecure cluster.
 This could be quite some user pain. Filing this jira for a solution to make 
 user's life easier.
 One proposed solution was to add a msg-parsing mechanism in webhdfs, which is 
 a bit hacky. The other proposed solution is to do the same kind of hack at 
 application side, which means the same hack need to be applied in each 
 application.
 Thanks [~daryn], [~wheat9], [~jingzhao], [~tucu00] and [~atm] for the 
 discussion in HDFS-6776.
  



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (HDFS-7139) Unit test for creating encryption zone on root path

2014-09-24 Thread Zhe Zhang (JIRA)

[ 
https://issues.apache.org/jira/browse/HDFS-7139?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14146871#comment-14146871
 ] 

Zhe Zhang commented on HDFS-7139:
-

The failed tests are unrelated since this patch only adds another unit test. 
[~andrew.wang] Could you take a look?

 Unit test for creating encryption zone on root path
 ---

 Key: HDFS-7139
 URL: https://issues.apache.org/jira/browse/HDFS-7139
 Project: Hadoop HDFS
  Issue Type: Sub-task
Reporter: Zhe Zhang
Assignee: Zhe Zhang
Priority: Minor
 Attachments: HDFS-7139-v2.patch, HDFS-7139.patch






--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Created] (HDFS-7141) Integrate HDFS-6581 memory usage with HDFS-4949

2014-09-24 Thread Colin Patrick McCabe (JIRA)
Colin Patrick McCabe created HDFS-7141:
--

 Summary: Integrate HDFS-6581 memory usage with HDFS-4949
 Key: HDFS-7141
 URL: https://issues.apache.org/jira/browse/HDFS-7141
 Project: Hadoop HDFS
  Issue Type: Sub-task
Reporter: Colin Patrick McCabe
Assignee: Colin Patrick McCabe
Priority: Blocker


We need to be able to integrate HDFS-6581 memory usage with HDFS-4949, so that 
system administrators are managing a single pool of memory rather than multiple.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Created] (HDFS-7142) Implement a 2Q eviction strategy for HDFS-6581

2014-09-24 Thread Colin Patrick McCabe (JIRA)
Colin Patrick McCabe created HDFS-7142:
--

 Summary: Implement a 2Q eviction strategy for HDFS-6581
 Key: HDFS-7142
 URL: https://issues.apache.org/jira/browse/HDFS-7142
 Project: Hadoop HDFS
  Issue Type: Sub-task
Reporter: Colin Patrick McCabe
Assignee: Colin Patrick McCabe


We should implement a 2Q or approximate 2Q eviction strategy for HDFS-6581.  It 
is well known that LRU is a poor fit for scanning workloads, which HDFS may 
often encounter. 



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (HDFS-7141) Integrate HDFS-6581 memory usage with HDFS-4949

2014-09-24 Thread Arpit Agarwal (JIRA)

[ 
https://issues.apache.org/jira/browse/HDFS-7141?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14146907#comment-14146907
 ] 

Arpit Agarwal commented on HDFS-7141:
-

HDFS-6919 exists to investigate this.

 Integrate HDFS-6581 memory usage with HDFS-4949
 ---

 Key: HDFS-7141
 URL: https://issues.apache.org/jira/browse/HDFS-7141
 Project: Hadoop HDFS
  Issue Type: Sub-task
  Components: datanode
Reporter: Colin Patrick McCabe
Assignee: Colin Patrick McCabe
Priority: Blocker

 We need to be able to integrate HDFS-6581 memory usage with HDFS-4949, so 
 that system administrators are managing a single pool of memory rather than 
 multiple.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Resolved] (HDFS-7141) Integrate HDFS-6581 memory usage with HDFS-4949

2014-09-24 Thread Arpit Agarwal (JIRA)

 [ 
https://issues.apache.org/jira/browse/HDFS-7141?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Arpit Agarwal resolved HDFS-7141.
-
Resolution: Duplicate

 Integrate HDFS-6581 memory usage with HDFS-4949
 ---

 Key: HDFS-7141
 URL: https://issues.apache.org/jira/browse/HDFS-7141
 Project: Hadoop HDFS
  Issue Type: Sub-task
  Components: datanode
Reporter: Colin Patrick McCabe
Assignee: Colin Patrick McCabe
Priority: Blocker

 We need to be able to integrate HDFS-6581 memory usage with HDFS-4949, so 
 that system administrators are managing a single pool of memory rather than 
 multiple.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (HDFS-7104) Fix and clarify INodeInPath getter functions

2014-09-24 Thread Zhe Zhang (JIRA)

[ 
https://issues.apache.org/jira/browse/HDFS-7104?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14146912#comment-14146912
 ] 

Zhe Zhang commented on HDFS-7104:
-

[~jingzhao] Thanks for reviewing again. 

bq. looks like now we can declare inodes as final.

{{fromINode()}} is still used in a few places which tries to set the {{inodes}} 
array.

bq. Optional: there are also two javadoc errors in INodesInPath (for 
snapshotRootIndex and getSnapshotRootIndex). Maybe we can use this chance to 
fix them.

I agree. How about the below:
{code} index of the null inode introduced by the snapshot dir in {@link 
#inodes}, -1 for non-snapshot paths. {code}

 Fix and clarify INodeInPath getter functions
 

 Key: HDFS-7104
 URL: https://issues.apache.org/jira/browse/HDFS-7104
 Project: Hadoop HDFS
  Issue Type: Bug
Reporter: Zhe Zhang
Assignee: Zhe Zhang
Priority: Minor
 Attachments: HDFS-7104-20140923-v1.patch, 
 HDFS-7104-20140923-v3.patch, HDFS-7104-20140924-v1.patch


 inodes is initialized with the number of patch components. After resolve, it 
 contains both non-null and null elements (introduced by dot-snapshot dirs).
 When getINodes is called, an array is returned excluding all non elements, 
 which is the correct behavior. Meanwhile, the inodes array is trimmed too, 
 which shouldn't be done by a getter.
 Because of the above, the behavior of getINodesInPath depends on whether 
 getINodes has been called, which is not correct.
 The name of getLastINodeInPath is confusing – it actually returns the last 
 non-null inode in the path. Also, shouldn't the return type be a single INode?



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Updated] (HDFS-6919) Enforce a single limit for RAM disk usage and replicas cached via locking

2014-09-24 Thread Colin Patrick McCabe (JIRA)

 [ 
https://issues.apache.org/jira/browse/HDFS-6919?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Colin Patrick McCabe updated HDFS-6919:
---
Priority: Blocker  (was: Major)
 Summary: Enforce a single limit for RAM disk usage and replicas cached via 
locking  (was: Consider enforcing single limit for RAM disk usage and replicas 
cached via locking)

 Enforce a single limit for RAM disk usage and replicas cached via locking
 -

 Key: HDFS-6919
 URL: https://issues.apache.org/jira/browse/HDFS-6919
 Project: Hadoop HDFS
  Issue Type: Sub-task
Reporter: Arpit Agarwal
Priority: Blocker

 The DataNode can have a single limit for memory usage which applies to both 
 replicas cached via CCM and replicas on RAM disk.
 See comments 
 [1|https://issues.apache.org/jira/browse/HDFS-6581?focusedCommentId=14106025page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-14106025],
  
 [2|https://issues.apache.org/jira/browse/HDFS-6581?focusedCommentId=14106245page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-14106245]
  and 
 [3|https://issues.apache.org/jira/browse/HDFS-6581?focusedCommentId=14106575page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-14106575]
  for discussion.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (HDFS-6808) Add command line option to ask DataNode reload configuration.

2014-09-24 Thread Allen Wittenauer (JIRA)

[ 
https://issues.apache.org/jira/browse/HDFS-6808?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14146916#comment-14146916
 ] 

Allen Wittenauer commented on HDFS-6808:



A quick vote around the office came out to be about a 5:1 ratio, with most 
agreeing that refresh and reconfig are essentially the same operation.

That said, we can eventually make refresh point to reconfig after enough users 
complain about it.  So I'll go +0.

 Add command line option to ask DataNode reload configuration.
 -

 Key: HDFS-6808
 URL: https://issues.apache.org/jira/browse/HDFS-6808
 Project: Hadoop HDFS
  Issue Type: Sub-task
  Components: datanode
Affects Versions: 2.5.0
Reporter: Lei (Eddy) Xu
Assignee: Lei (Eddy) Xu
 Attachments: HDFS-6808.000.combo.patch, HDFS-6808.000.patch, 
 HDFS-6808.001.combo.patch, HDFS-6808.001.patch, HDFS-6808.002.combo.patch, 
 HDFS-6808.002.patch, HDFS-6808.003.combo.txt, HDFS-6808.003.patch, 
 HDFS-6808.004.combo.patch, HDFS-6808.004.patch, HDFS-6808.005.combo.patch, 
 HDFS-6808.005.patch, HDFS-6808.006.combo.patch, HDFS-6808.006.patch, 
 HDFS-6808.007.combo.patch, HDFS-6808.007.patch, HDFS-6808.008.combo.patch, 
 HDFS-6808.008.patch, HDFS-6808.009.combo.patch, HDFS-6808.009.patch, 
 HDFS-6808.010.patch, HDFS-6808.011.patch


 The workflow of dynamically changing data volumes on DataNode is
 # Users manually changed {{dfs.datanode.data.dir}} in the configuration file
 # User use command line to notify DN to reload configuration and updates its 
 volumes. 
 This work adds command line support to notify DN to reload configuration.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (HDFS-7104) Fix and clarify INodeInPath getter functions

2014-09-24 Thread Jing Zhao (JIRA)

[ 
https://issues.apache.org/jira/browse/HDFS-7104?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14146928#comment-14146928
 ] 

Jing Zhao commented on HDFS-7104:
-

bq. fromINode() is still used in a few places which tries to set the inodes 
array.

Thanks for pointing this out! Then we just leave it unchanged.

bq.  index of the null inode introduced by the snapshot dir in {@link #inodes}, 
-1 for non-snapshot paths. 

Actually it's not null inode. For a snapshot path, it is the index of the 
{{@link Snapshot.Root}} node in the {{inodes}} array.

 Fix and clarify INodeInPath getter functions
 

 Key: HDFS-7104
 URL: https://issues.apache.org/jira/browse/HDFS-7104
 Project: Hadoop HDFS
  Issue Type: Bug
Reporter: Zhe Zhang
Assignee: Zhe Zhang
Priority: Minor
 Attachments: HDFS-7104-20140923-v1.patch, 
 HDFS-7104-20140923-v3.patch, HDFS-7104-20140924-v1.patch


 inodes is initialized with the number of patch components. After resolve, it 
 contains both non-null and null elements (introduced by dot-snapshot dirs).
 When getINodes is called, an array is returned excluding all non elements, 
 which is the correct behavior. Meanwhile, the inodes array is trimmed too, 
 which shouldn't be done by a getter.
 Because of the above, the behavior of getINodesInPath depends on whether 
 getINodes has been called, which is not correct.
 The name of getLastINodeInPath is confusing – it actually returns the last 
 non-null inode in the path. Also, shouldn't the return type be a single INode?



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Updated] (HDFS-6932) Balancer and Mover tools should ignore replicas on RAM_DISK

2014-09-24 Thread Xiaoyu Yao (JIRA)

 [ 
https://issues.apache.org/jira/browse/HDFS-6932?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Xiaoyu Yao updated HDFS-6932:
-
Attachment: HDFS-6932.2.patch

Add Balancer test with RAM_DISK configuration and fix an array OOB issue in 
MiniDFSCluster#startDataNodes.

 Balancer and Mover tools should ignore replicas on RAM_DISK
 ---

 Key: HDFS-6932
 URL: https://issues.apache.org/jira/browse/HDFS-6932
 Project: Hadoop HDFS
  Issue Type: Sub-task
  Components: datanode
Affects Versions: HDFS-6581
Reporter: Arpit Agarwal
Assignee: Xiaoyu Yao
 Attachments: HDFS-6932.0.patch, HDFS-6932.1.patch, HDFS-6932.2.patch


 Per title, balancer and mover should just ignore replicas on RAM disk instead 
 of attempting to move them to other nodes.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (HDFS-3107) HDFS truncate

2014-09-24 Thread Aaron T. Myers (JIRA)

[ 
https://issues.apache.org/jira/browse/HDFS-3107?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14146941#comment-14146941
 ] 

Aaron T. Myers commented on HDFS-3107:
--

I have not done any detailed review of the code or design, but in a quick look 
at the current patch I do see one little problem:

{code}
+checkOperation(OperationCategory.WRITE);
+boolean res;
+writeLock();
+try {
+  if (isInSafeMode()) {
+throw new SafeModeException(Cannot truncate for  + src, safeMode);
+  }
{code}

In the above, you should be checking for {{OperationCategory.WRITE}} both 
before and after taking the write lock. Before to prevent clients from failing 
over slowly when contacting the standby NN, after to ensure correctness.

 HDFS truncate
 -

 Key: HDFS-3107
 URL: https://issues.apache.org/jira/browse/HDFS-3107
 Project: Hadoop HDFS
  Issue Type: New Feature
  Components: datanode, namenode
Reporter: Lei Chang
Assignee: Plamen Jeliazkov
 Attachments: HDFS-3107.patch, HDFS-3107.patch, HDFS_truncate.pdf, 
 HDFS_truncate_semantics_Mar15.pdf, HDFS_truncate_semantics_Mar21.pdf

   Original Estimate: 1,344h
  Remaining Estimate: 1,344h

 Systems with transaction support often need to undo changes made to the 
 underlying storage when a transaction is aborted. Currently HDFS does not 
 support truncate (a standard Posix operation) which is a reverse operation of 
 append, which makes upper layer applications use ugly workarounds (such as 
 keeping track of the discarded byte range per file in a separate metadata 
 store, and periodically running a vacuum process to rewrite compacted files) 
 to overcome this limitation of HDFS.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (HDFS-7036) HDFS-6776 fix requires to upgrade insecure cluster, which means quite some user pain

2014-09-24 Thread Yongjun Zhang (JIRA)

[ 
https://issues.apache.org/jira/browse/HDFS-7036?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14146957#comment-14146957
 ] 

Yongjun Zhang commented on HDFS-7036:
-

HI [~wheat9], Thanks for your comments. 

Would you mind also comment on how we are going to deal with the similar 
failure of issuing
{code}
hadoop fs -ls insecureCluster
{code}
from secure cluster side? There is the possibility that other applications too. 
Given it's a hack, wonder if you would suggest to have the same hack to 
different places?

Would you please give some *concrete* example about the potential damage it 
would cause if we have the hack in webhdfs? I think that would help the 
discussion most here.

To me, it's an easy and clean solution to have this hack in webhdfs, so all 
applications are taken care of by the solution; and it's going to be easy to 
take out this hack in the future when it's the time.

On the other hand, adding the hack in distcp and other applications, the 
solution in each application is going to be more complicated than the webhdfs 
one, and it has the potential to introduce more instability to the software 
than the potential damage I can see with the webhdfs solution. So the 
*concrete* example I hoped you could give can help the discussion here.

Thanks a lot.


 HDFS-6776 fix requires to upgrade insecure cluster, which means quite some 
 user pain
 

 Key: HDFS-7036
 URL: https://issues.apache.org/jira/browse/HDFS-7036
 Project: Hadoop HDFS
  Issue Type: Bug
  Components: webhdfs
Affects Versions: 2.5.1
Reporter: Yongjun Zhang
Assignee: Yongjun Zhang
 Attachments: HDFS-7036.001.patch


 Issuing command
 {code}
  hadoop fs -lsr webhdfs://insecureCluster
 {code}
 at a secure cluster side fails with message Failed to get the token ..., 
 similar symptom as reported in HDFS-6776.
 If the fix of HDFS-6776 is applied to only the secure cluster, doing 
 {code}
 distcp webhdfs://insecureCluster secureCluster
 {code}
 would fail same way.
 Basically running any application in secure cluster to access insecure 
 cluster via webhdfs would fail the same way, if the HDFS-6776 fix is not 
 applied to the insecure cluster.
 This could be quite some user pain. Filing this jira for a solution to make 
 user's life easier.
 One proposed solution was to add a msg-parsing mechanism in webhdfs, which is 
 a bit hacky. The other proposed solution is to do the same kind of hack at 
 application side, which means the same hack need to be applied in each 
 application.
 Thanks [~daryn], [~wheat9], [~jingzhao], [~tucu00] and [~atm] for the 
 discussion in HDFS-6776.
  



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Updated] (HDFS-7140) Add a tool to list all the existing block storage policies

2014-09-24 Thread Jing Zhao (JIRA)

 [ 
https://issues.apache.org/jira/browse/HDFS-7140?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Jing Zhao updated HDFS-7140:

Attachment: HDFS-7140.002.patch

Update the patch to fix a test failure caused by inconsistent output message. 
Also rename {{getStoragePolicySuite}} to {{getStoragePolicies}}.

 Add a tool to list all the existing block storage policies
 --

 Key: HDFS-7140
 URL: https://issues.apache.org/jira/browse/HDFS-7140
 Project: Hadoop HDFS
  Issue Type: Sub-task
  Components: balancer, namenode
Affects Versions: 3.0.0
Reporter: Jing Zhao
Assignee: Jing Zhao
Priority: Minor
 Attachments: HDFS-7140.000.patch, HDFS-7140.001.patch, 
 HDFS-7140.002.patch


 After adding a new DistributedFileSystem API to allow normal users to get all 
 the block storage policies, we should also provide a simple tool to list 
 these policies.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (HDFS-7076) Persist Block Storage Policy in FSImage and Edit Log

2014-09-24 Thread Hadoop QA (JIRA)

[ 
https://issues.apache.org/jira/browse/HDFS-7076?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14146962#comment-14146962
 ] 

Hadoop QA commented on HDFS-7076:
-

{color:red}-1 overall{color}.  Here are the results of testing the latest 
attachment 
  http://issues.apache.org/jira/secure/attachment/12671022/HDFS-7076.001.patch
  against trunk revision 9fa5a89.

{color:green}+1 @author{color}.  The patch does not contain any @author 
tags.

{color:green}+1 tests included{color}.  The patch appears to include 5 new 
or modified test files.

{color:green}+1 javac{color}.  The applied patch does not increase the 
total number of javac compiler warnings.

{color:green}+1 javadoc{color}.  There were no new javadoc warning messages.

{color:green}+1 eclipse:eclipse{color}.  The patch built with 
eclipse:eclipse.

{color:green}+1 findbugs{color}.  The patch does not introduce any new 
Findbugs (version 2.0.3) warnings.

{color:green}+1 release audit{color}.  The applied patch does not increase 
the total number of release audit warnings.

{color:red}-1 core tests{color}.  The patch failed these unit tests in 
hadoop-hdfs-project/hadoop-hdfs:

  org.apache.hadoop.hdfs.server.namenode.TestNamenodeRetryCache
  org.apache.hadoop.hdfs.server.namenode.ha.TestRetryCacheWithHA
  
org.apache.hadoop.hdfs.server.namenode.ha.TestPipelinesFailover
  org.apache.hadoop.hdfs.TestDFSInotifyEventInputStream
  
org.apache.hadoop.hdfs.tools.offlineEditsViewer.TestOfflineEditsViewer
  org.apache.hadoop.hdfs.TestEncryptionZonesWithKMS

{color:green}+1 contrib tests{color}.  The patch passed contrib unit tests.

Test results: 
https://builds.apache.org/job/PreCommit-HDFS-Build/8187//testReport/
Console output: https://builds.apache.org/job/PreCommit-HDFS-Build/8187//console

This message is automatically generated.

 Persist Block Storage Policy in FSImage and Edit Log
 

 Key: HDFS-7076
 URL: https://issues.apache.org/jira/browse/HDFS-7076
 Project: Hadoop HDFS
  Issue Type: Sub-task
  Components: balancer, namenode
Reporter: Jing Zhao
Assignee: Jing Zhao
 Attachments: HDFS-7076.000.patch, HDFS-7076.001.patch, editsStored


 Currently block storage policies are loaded from a XML file. This may lead to 
 policy inconsistency if the content of the XML gets modified or if the XML 
 file is replaced by mistake. Thus it is better to persist policies in 
 editlog/fsimage.
 Specifically we plan to do the following in this jira:
 # Add new DistributedFileSystem API for getting all the existing storage 
 policies
 # Add new DistributedFileSystem/HdfsAdmin API for adding a new storage 
 policy. The new storage policy is then persisted in editlog and later fsimage 
 while checkpointing.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Updated] (HDFS-7104) Fix and clarify INodeInPath getter functions

2014-09-24 Thread Zhe Zhang (JIRA)

 [ 
https://issues.apache.org/jira/browse/HDFS-7104?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Zhe Zhang updated HDFS-7104:

Attachment: HDFS-7104-20140924-v2.patch

Javadoc fixes and improvements.

 Fix and clarify INodeInPath getter functions
 

 Key: HDFS-7104
 URL: https://issues.apache.org/jira/browse/HDFS-7104
 Project: Hadoop HDFS
  Issue Type: Bug
Reporter: Zhe Zhang
Assignee: Zhe Zhang
Priority: Minor
 Attachments: HDFS-7104-20140923-v1.patch, 
 HDFS-7104-20140923-v3.patch, HDFS-7104-20140924-v1.patch, 
 HDFS-7104-20140924-v2.patch


 inodes is initialized with the number of patch components. After resolve, it 
 contains both non-null and null elements (introduced by dot-snapshot dirs).
 When getINodes is called, an array is returned excluding all non elements, 
 which is the correct behavior. Meanwhile, the inodes array is trimmed too, 
 which shouldn't be done by a getter.
 Because of the above, the behavior of getINodesInPath depends on whether 
 getINodes has been called, which is not correct.
 The name of getLastINodeInPath is confusing – it actually returns the last 
 non-null inode in the path. Also, shouldn't the return type be a single INode?



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (HDFS-7104) Fix and clarify INodeInPath getter functions

2014-09-24 Thread Jing Zhao (JIRA)

[ 
https://issues.apache.org/jira/browse/HDFS-7104?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14146988#comment-14146988
 ] 

Jing Zhao commented on HDFS-7104:
-

Sorry I should mention this in my last comment: 
{code}
E.g., for path /dir/.snapshot, an array of size 1 is returned, containing only 
the inode of dir.
{code}

Here an array of size 2 is actually returned, since the root (/) node is also 
included :) 
We can change it to sth. like E.g., for path /dir/.snapshot with inodes 
containing all the inodes involved in the path, an array of size 2 is returned, 
containing both the root(/) and the inode of dir.

 Fix and clarify INodeInPath getter functions
 

 Key: HDFS-7104
 URL: https://issues.apache.org/jira/browse/HDFS-7104
 Project: Hadoop HDFS
  Issue Type: Bug
Reporter: Zhe Zhang
Assignee: Zhe Zhang
Priority: Minor
 Attachments: HDFS-7104-20140923-v1.patch, 
 HDFS-7104-20140923-v3.patch, HDFS-7104-20140924-v1.patch, 
 HDFS-7104-20140924-v2.patch


 inodes is initialized with the number of patch components. After resolve, it 
 contains both non-null and null elements (introduced by dot-snapshot dirs).
 When getINodes is called, an array is returned excluding all non elements, 
 which is the correct behavior. Meanwhile, the inodes array is trimmed too, 
 which shouldn't be done by a getter.
 Because of the above, the behavior of getINodesInPath depends on whether 
 getINodes has been called, which is not correct.
 The name of getLastINodeInPath is confusing – it actually returns the last 
 non-null inode in the path. Also, shouldn't the return type be a single INode?



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (HDFS-7036) HDFS-6776 fix requires to upgrade insecure cluster, which means quite some user pain

2014-09-24 Thread Haohui Mai (JIRA)

[ 
https://issues.apache.org/jira/browse/HDFS-7036?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14146989#comment-14146989
 ] 

Haohui Mai commented on HDFS-7036:
--

bq. ...adding the hack in distcp and other applications...

Can you point out what the other applications are that need to access both 
secure and insecure cluster at the same time? To my best knowledge, distcp is 
the only use case. The title of this jira suggests it is focusing on distcp.

In contrast, YARN, MR and other applications that are built on top of them use 
{{WebHdfsFileSystem}} extensively.

My message has been consistent since HDFS-6776 -- the hack should be contained 
which result minimal damage in the codebase. I cannot +1 for the approach on 
hacking {{WebHdfsFileSystem}} just for this issue.

If you still don't get it, it might be helpful to go through the distcp code 
first.

 HDFS-6776 fix requires to upgrade insecure cluster, which means quite some 
 user pain
 

 Key: HDFS-7036
 URL: https://issues.apache.org/jira/browse/HDFS-7036
 Project: Hadoop HDFS
  Issue Type: Bug
  Components: webhdfs
Affects Versions: 2.5.1
Reporter: Yongjun Zhang
Assignee: Yongjun Zhang
 Attachments: HDFS-7036.001.patch


 Issuing command
 {code}
  hadoop fs -lsr webhdfs://insecureCluster
 {code}
 at a secure cluster side fails with message Failed to get the token ..., 
 similar symptom as reported in HDFS-6776.
 If the fix of HDFS-6776 is applied to only the secure cluster, doing 
 {code}
 distcp webhdfs://insecureCluster secureCluster
 {code}
 would fail same way.
 Basically running any application in secure cluster to access insecure 
 cluster via webhdfs would fail the same way, if the HDFS-6776 fix is not 
 applied to the insecure cluster.
 This could be quite some user pain. Filing this jira for a solution to make 
 user's life easier.
 One proposed solution was to add a msg-parsing mechanism in webhdfs, which is 
 a bit hacky. The other proposed solution is to do the same kind of hack at 
 application side, which means the same hack need to be applied in each 
 application.
 Thanks [~daryn], [~wheat9], [~jingzhao], [~tucu00] and [~atm] for the 
 discussion in HDFS-6776.
  



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Assigned] (HDFS-6919) Enforce a single limit for RAM disk usage and replicas cached via locking

2014-09-24 Thread Colin Patrick McCabe (JIRA)

 [ 
https://issues.apache.org/jira/browse/HDFS-6919?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Colin Patrick McCabe reassigned HDFS-6919:
--

Assignee: Colin Patrick McCabe

 Enforce a single limit for RAM disk usage and replicas cached via locking
 -

 Key: HDFS-6919
 URL: https://issues.apache.org/jira/browse/HDFS-6919
 Project: Hadoop HDFS
  Issue Type: Sub-task
Reporter: Arpit Agarwal
Assignee: Colin Patrick McCabe
Priority: Blocker

 The DataNode can have a single limit for memory usage which applies to both 
 replicas cached via CCM and replicas on RAM disk.
 See comments 
 [1|https://issues.apache.org/jira/browse/HDFS-6581?focusedCommentId=14106025page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-14106025],
  
 [2|https://issues.apache.org/jira/browse/HDFS-6581?focusedCommentId=14106245page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-14106245]
  and 
 [3|https://issues.apache.org/jira/browse/HDFS-6581?focusedCommentId=14106575page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-14106575]
  for discussion.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (HDFS-7104) Fix and clarify INodeInPath getter functions

2014-09-24 Thread Zhe Zhang (JIRA)

[ 
https://issues.apache.org/jira/browse/HDFS-7104?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14147018#comment-14147018
 ] 

Zhe Zhang commented on HDFS-7104:
-

Good catch! How about the below:
{code:java}
  /**
   * @return a new array of inodes excluding the null elements introduced by 
snapshot
   *  path elements. E.g., for path /dir/.snapshot, {@link #inodes} includes 3 
elements,
   *  for /, dir, and .snapshot, while the returned array only contains 
inodes of /
   *  and dir. Note the length of the returned array is always equal to 
{@link #capacity}.
   */
{code}

 Fix and clarify INodeInPath getter functions
 

 Key: HDFS-7104
 URL: https://issues.apache.org/jira/browse/HDFS-7104
 Project: Hadoop HDFS
  Issue Type: Bug
Reporter: Zhe Zhang
Assignee: Zhe Zhang
Priority: Minor
 Attachments: HDFS-7104-20140923-v1.patch, 
 HDFS-7104-20140923-v3.patch, HDFS-7104-20140924-v1.patch, 
 HDFS-7104-20140924-v2.patch


 inodes is initialized with the number of patch components. After resolve, it 
 contains both non-null and null elements (introduced by dot-snapshot dirs).
 When getINodes is called, an array is returned excluding all non elements, 
 which is the correct behavior. Meanwhile, the inodes array is trimmed too, 
 which shouldn't be done by a getter.
 Because of the above, the behavior of getINodesInPath depends on whether 
 getINodes has been called, which is not correct.
 The name of getLastINodeInPath is confusing – it actually returns the last 
 non-null inode in the path. Also, shouldn't the return type be a single INode?



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (HDFS-7104) Fix and clarify INodeInPath getter functions

2014-09-24 Thread Jing Zhao (JIRA)

[ 
https://issues.apache.org/jira/browse/HDFS-7104?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14147035#comment-14147035
 ] 

Jing Zhao commented on HDFS-7104:
-

Thanks for the fix!

bq. for path /dir/.snapshot, {@link #inodes} includes 3 elements, for /, 
dir, and .snapshot

Maybe we can change it to After resolving the path /dir/.snapshot, {@link 
#inodes} == {/, dir, null}. Other than this it looks good to me.

 Fix and clarify INodeInPath getter functions
 

 Key: HDFS-7104
 URL: https://issues.apache.org/jira/browse/HDFS-7104
 Project: Hadoop HDFS
  Issue Type: Bug
Reporter: Zhe Zhang
Assignee: Zhe Zhang
Priority: Minor
 Attachments: HDFS-7104-20140923-v1.patch, 
 HDFS-7104-20140923-v3.patch, HDFS-7104-20140924-v1.patch, 
 HDFS-7104-20140924-v2.patch


 inodes is initialized with the number of patch components. After resolve, it 
 contains both non-null and null elements (introduced by dot-snapshot dirs).
 When getINodes is called, an array is returned excluding all non elements, 
 which is the correct behavior. Meanwhile, the inodes array is trimmed too, 
 which shouldn't be done by a getter.
 Because of the above, the behavior of getINodesInPath depends on whether 
 getINodes has been called, which is not correct.
 The name of getLastINodeInPath is confusing – it actually returns the last 
 non-null inode in the path. Also, shouldn't the return type be a single INode?



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (HDFS-7036) HDFS-6776 fix requires to upgrade insecure cluster, which means quite some user pain

2014-09-24 Thread Yongjun Zhang (JIRA)

[ 
https://issues.apache.org/jira/browse/HDFS-7036?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14147038#comment-14147038
 ] 

Yongjun Zhang commented on HDFS-7036:
-

Hi [~wheat9],

One example I described several times and in my previous comment is issuing 
{{hadoop fs -ls insecureCluster}} from secure cluster side. It's broken for 
the same reason. Do you suggest to hack the fsshell too or leave it as broken 
as is?  In addition, imagine user could write their own applications to access 
data in both secure and insecure cluster.

Would you please provide some *concrete example of potential damage?

Thanks.










 HDFS-6776 fix requires to upgrade insecure cluster, which means quite some 
 user pain
 

 Key: HDFS-7036
 URL: https://issues.apache.org/jira/browse/HDFS-7036
 Project: Hadoop HDFS
  Issue Type: Bug
  Components: webhdfs
Affects Versions: 2.5.1
Reporter: Yongjun Zhang
Assignee: Yongjun Zhang
 Attachments: HDFS-7036.001.patch


 Issuing command
 {code}
  hadoop fs -lsr webhdfs://insecureCluster
 {code}
 at a secure cluster side fails with message Failed to get the token ..., 
 similar symptom as reported in HDFS-6776.
 If the fix of HDFS-6776 is applied to only the secure cluster, doing 
 {code}
 distcp webhdfs://insecureCluster secureCluster
 {code}
 would fail same way.
 Basically running any application in secure cluster to access insecure 
 cluster via webhdfs would fail the same way, if the HDFS-6776 fix is not 
 applied to the insecure cluster.
 This could be quite some user pain. Filing this jira for a solution to make 
 user's life easier.
 One proposed solution was to add a msg-parsing mechanism in webhdfs, which is 
 a bit hacky. The other proposed solution is to do the same kind of hack at 
 application side, which means the same hack need to be applied in each 
 application.
 Thanks [~daryn], [~wheat9], [~jingzhao], [~tucu00] and [~atm] for the 
 discussion in HDFS-6776.
  



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Comment Edited] (HDFS-7104) Fix and clarify INodeInPath getter functions

2014-09-24 Thread Jing Zhao (JIRA)

[ 
https://issues.apache.org/jira/browse/HDFS-7104?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14147035#comment-14147035
 ] 

Jing Zhao edited comment on HDFS-7104 at 9/24/14 10:58 PM:
---

Thanks for the fix!

bq. for path /dir/.snapshot, inodes includes 3 elements, for /, dir, and 
.snapshot.

Maybe we can change it to After resolving the path /dir/.snapshot, 
{{inodes}} is {/, dir, null}. Other than this it looks good to me.


was (Author: jingzhao):
Thanks for the fix!

bq. for path /dir/.snapshot, {@link #inodes} includes 3 elements, for /, 
dir, and .snapshot

Maybe we can change it to After resolving the path /dir/.snapshot, {@link 
#inodes} == {/, dir, null}. Other than this it looks good to me.

 Fix and clarify INodeInPath getter functions
 

 Key: HDFS-7104
 URL: https://issues.apache.org/jira/browse/HDFS-7104
 Project: Hadoop HDFS
  Issue Type: Bug
Reporter: Zhe Zhang
Assignee: Zhe Zhang
Priority: Minor
 Attachments: HDFS-7104-20140923-v1.patch, 
 HDFS-7104-20140923-v3.patch, HDFS-7104-20140924-v1.patch, 
 HDFS-7104-20140924-v2.patch


 inodes is initialized with the number of patch components. After resolve, it 
 contains both non-null and null elements (introduced by dot-snapshot dirs).
 When getINodes is called, an array is returned excluding all non elements, 
 which is the correct behavior. Meanwhile, the inodes array is trimmed too, 
 which shouldn't be done by a getter.
 Because of the above, the behavior of getINodesInPath depends on whether 
 getINodes has been called, which is not correct.
 The name of getLastINodeInPath is confusing – it actually returns the last 
 non-null inode in the path. Also, shouldn't the return type be a single INode?



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Updated] (HDFS-6932) Balancer and Mover tools should ignore replicas on RAM_DISK

2014-09-24 Thread Xiaoyu Yao (JIRA)

 [ 
https://issues.apache.org/jira/browse/HDFS-6932?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Xiaoyu Yao updated HDFS-6932:
-
Attachment: HDFS-6932.3.patch

Minor update to correct the timeout value for testBalancerWithRamDisk

 Balancer and Mover tools should ignore replicas on RAM_DISK
 ---

 Key: HDFS-6932
 URL: https://issues.apache.org/jira/browse/HDFS-6932
 Project: Hadoop HDFS
  Issue Type: Sub-task
  Components: datanode
Affects Versions: HDFS-6581
Reporter: Arpit Agarwal
Assignee: Xiaoyu Yao
 Attachments: HDFS-6932.0.patch, HDFS-6932.1.patch, HDFS-6932.2.patch, 
 HDFS-6932.3.patch


 Per title, balancer and mover should just ignore replicas on RAM disk instead 
 of attempting to move them to other nodes.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Updated] (HDFS-7140) Add a tool to list all the existing block storage policies

2014-09-24 Thread Tsz Wo Nicholas Sze (JIRA)

 [ 
https://issues.apache.org/jira/browse/HDFS-7140?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Tsz Wo Nicholas Sze updated HDFS-7140:
--
Hadoop Flags: Reviewed

+1 patch looks good.  Thanks.

 Add a tool to list all the existing block storage policies
 --

 Key: HDFS-7140
 URL: https://issues.apache.org/jira/browse/HDFS-7140
 Project: Hadoop HDFS
  Issue Type: Sub-task
  Components: balancer, namenode
Affects Versions: 3.0.0
Reporter: Jing Zhao
Assignee: Jing Zhao
Priority: Minor
 Attachments: HDFS-7140.000.patch, HDFS-7140.001.patch, 
 HDFS-7140.002.patch


 After adding a new DistributedFileSystem API to allow normal users to get all 
 the block storage policies, we should also provide a simple tool to list 
 these policies.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Updated] (HDFS-7140) Add a tool to list all the existing block storage policies

2014-09-24 Thread Tsz Wo Nicholas Sze (JIRA)

 [ 
https://issues.apache.org/jira/browse/HDFS-7140?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Tsz Wo Nicholas Sze updated HDFS-7140:
--
Status: Patch Available  (was: Open)

 Add a tool to list all the existing block storage policies
 --

 Key: HDFS-7140
 URL: https://issues.apache.org/jira/browse/HDFS-7140
 Project: Hadoop HDFS
  Issue Type: Sub-task
  Components: balancer, namenode
Affects Versions: 3.0.0
Reporter: Jing Zhao
Assignee: Jing Zhao
Priority: Minor
 Attachments: HDFS-7140.000.patch, HDFS-7140.001.patch, 
 HDFS-7140.002.patch


 After adding a new DistributedFileSystem API to allow normal users to get all 
 the block storage policies, we should also provide a simple tool to list 
 these policies.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Updated] (HDFS-7077) Separate CipherSuite from crypto protocol version

2014-09-24 Thread Andrew Wang (JIRA)

 [ 
https://issues.apache.org/jira/browse/HDFS-7077?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Andrew Wang updated HDFS-7077:
--
Attachment: hdfs-7077.001.patch

Patch attached. The main thing is using EncryptionProtocolVersion rather than 
trying to arbitrate based on the CipherSuite. Now, the CipherSuite is simply 
chosen based on the provided EZ key, and clients all need to use that 
CipherSuite.

On write, the client provides its supported protocol versions. The NN chooses 
among these based on the encryption zone, throwing an exception if the client 
doesn't support the EZ's version. On read, the client checks the protocol 
version of the file and throws an exception if it doesn't support it.

There are also a few other changes. I renamed the CipherSuite proto to 
CipherSuiteProto to make a static import possible. The CryptoCodec factory 
method was also throwing a runtime exception if the requested codec could not 
be created, which is counter to the javadoc and also an extreme response.

 Separate CipherSuite from crypto protocol version
 -

 Key: HDFS-7077
 URL: https://issues.apache.org/jira/browse/HDFS-7077
 Project: Hadoop HDFS
  Issue Type: Sub-task
  Components: encryption
Affects Versions: 2.6.0
Reporter: Andrew Wang
Assignee: Andrew Wang
 Attachments: hdfs-7077.001.patch


 Right now the CipherSuite is used for protocol version negotiation, which is 
 wrong. We need to separate it out. An EZ should be locked to a certain 
 CipherSuite and protocol version. A client reading and writing to the EZ then 
 needs to negotiate based on both of these parameters.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Updated] (HDFS-7077) Separate CipherSuite from crypto protocol version

2014-09-24 Thread Andrew Wang (JIRA)

 [ 
https://issues.apache.org/jira/browse/HDFS-7077?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Andrew Wang updated HDFS-7077:
--
Status: Patch Available  (was: Open)

 Separate CipherSuite from crypto protocol version
 -

 Key: HDFS-7077
 URL: https://issues.apache.org/jira/browse/HDFS-7077
 Project: Hadoop HDFS
  Issue Type: Sub-task
  Components: encryption
Affects Versions: 2.6.0
Reporter: Andrew Wang
Assignee: Andrew Wang
 Attachments: hdfs-7077.001.patch


 Right now the CipherSuite is used for protocol version negotiation, which is 
 wrong. We need to separate it out. An EZ should be locked to a certain 
 CipherSuite and protocol version. A client reading and writing to the EZ then 
 needs to negotiate based on both of these parameters.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Updated] (HDFS-7104) Fix and clarify INodeInPath getter functions

2014-09-24 Thread Zhe Zhang (JIRA)

 [ 
https://issues.apache.org/jira/browse/HDFS-7104?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Zhe Zhang updated HDFS-7104:

Attachment: HDFS-7104-20140924-v3.patch

Fixing example in Javadoc of {{getINodes()}}

 Fix and clarify INodeInPath getter functions
 

 Key: HDFS-7104
 URL: https://issues.apache.org/jira/browse/HDFS-7104
 Project: Hadoop HDFS
  Issue Type: Bug
Reporter: Zhe Zhang
Assignee: Zhe Zhang
Priority: Minor
 Attachments: HDFS-7104-20140923-v1.patch, 
 HDFS-7104-20140923-v3.patch, HDFS-7104-20140924-v1.patch, 
 HDFS-7104-20140924-v2.patch, HDFS-7104-20140924-v3.patch


 inodes is initialized with the number of patch components. After resolve, it 
 contains both non-null and null elements (introduced by dot-snapshot dirs).
 When getINodes is called, an array is returned excluding all non elements, 
 which is the correct behavior. Meanwhile, the inodes array is trimmed too, 
 which shouldn't be done by a getter.
 Because of the above, the behavior of getINodesInPath depends on whether 
 getINodes has been called, which is not correct.
 The name of getLastINodeInPath is confusing – it actually returns the last 
 non-null inode in the path. Also, shouldn't the return type be a single INode?



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (HDFS-7138) Fix hftp to work with encryption

2014-09-24 Thread Andrew Wang (JIRA)

[ 
https://issues.apache.org/jira/browse/HDFS-7138?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14147088#comment-14147088
 ] 

Andrew Wang commented on HDFS-7138:
---

Thanks Charles, LGTM. Could you quickly comment on manual testing? I noticed 
that you didn't add a unit test reading encrypted data via HFTP, but I'm okay 
with manual only since HFTP is deprecated.

 Fix hftp to work with encryption
 

 Key: HDFS-7138
 URL: https://issues.apache.org/jira/browse/HDFS-7138
 Project: Hadoop HDFS
  Issue Type: Sub-task
  Components: namenode
Affects Versions: 2.6.0
Reporter: Charles Lamb
Assignee: Charles Lamb
 Attachments: HDFS-7138.001.patch


 Users cannot read files using hftp.
 bash-4.1$ hadoop fs -cat /enc/hello
 hello and goodbye
 bash-4.1$ hadoop fs -cat hftp://localhost:50070/enc/hello
 14/09/16 10:56:52 WARN ssl.FileBasedKeyStoresFactory: The property 
 'ssl.client.truststore.location' has not been set, no TrustStore will be 
 loaded
 P5/-?K?fbash-4.1$



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


  1   2   >