[
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)