[ 
https://issues.apache.org/jira/browse/HDFS-8209?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14512713#comment-14512713
 ] 

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

{code}
     assert storageTypes == null || storageTypes.length == storagesPerDatanode;
     for (int j = 0; j < storagesPerDatanode; ++j) {
+      if ((storageTypes != null) && (j >= storageTypes.length)) {
+        break;
+      }
{code}
With the assert storageTypes.length == storagesPerDatanode and j < 
storagesPerDatanode, the condition j >= storageTypes.length is always false.  
So I guess the patch won't work.

> Support different number of datanode directories in MiniDFSCluster.
> -------------------------------------------------------------------
>
>                 Key: HDFS-8209
>                 URL: https://issues.apache.org/jira/browse/HDFS-8209
>             Project: Hadoop HDFS
>          Issue Type: Improvement
>          Components: test
>    Affects Versions: 2.6.0
>            Reporter: surendra singh lilhore
>            Assignee: surendra singh lilhore
>            Priority: Minor
>         Attachments: HDFS-8209.patch
>
>
> I want to create MiniDFSCluster with 2 datanode and for each datanode I want 
> to set different number of StorageTypes, but in this case I am getting 
> ArrayIndexOutOfBoundsException.
> My cluster schema is like this.
> {code}
> final MiniDFSCluster cluster = new MiniDFSCluster.Builder(conf)
>                               .numDataNodes(2)
>                               .storageTypes(new StorageType[][] {{ 
> StorageType.DISK, StorageType.ARCHIVE },{ StorageType.DISK } })
>                               .build();
> {code}
> *Exception* :
> {code}
> java.lang.ArrayIndexOutOfBoundsException: 1
>       at 
> org.apache.hadoop.hdfs.MiniDFSCluster.makeDataNodeDirs(MiniDFSCluster.java:1218)
>       at 
> org.apache.hadoop.hdfs.MiniDFSCluster.startDataNodes(MiniDFSCluster.java:1402)
>       at 
> org.apache.hadoop.hdfs.MiniDFSCluster.initMiniDFSCluster(MiniDFSCluster.java:832)
> {code}



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

Reply via email to