You are viewing a plain text version of this content. The canonical link for it is here.
Posted to common-dev@hadoop.apache.org by "Devaraj Das (JIRA)" <ji...@apache.org> on 2007/07/20 13:25:06 UTC

[jira] Created: (HADOOP-1641) DFS missing block error message not propagated properly to the client

DFS missing block error message not propagated properly to the client
---------------------------------------------------------------------

                 Key: HADOOP-1641
                 URL: https://issues.apache.org/jira/browse/HADOOP-1641
             Project: Hadoop
          Issue Type: Bug
          Components: dfs
    Affects Versions: 0.14.0
            Reporter: Devaraj Das


In one sort run, I happened to manually delete a file block since it had a checksum problem and since the replication was 1 for the file, the namenode couldn't handle this missing block. After that, when i tried to run the sort benchmark, i got the exception:

org.apache.hadoop.ipc.RemoteException: java.io.IOException: java.lang.IllegalArgumentException: n must be positive
        at java.util.Random.nextInt(Random.java:248)
        at org.apache.hadoop.net.NetworkTopology.pseudoSortByDistance(NetworkTopology.java:642)
        at org.apache.hadoop.dfs.FSNamesystem.getBlockLocations(FSNamesystem.java:557)
        at org.apache.hadoop.dfs.NameNode.getBlockLocations(NameNode.java:280)
        at sun.reflect.GeneratedMethodAccessor10.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:585)
        at org.apache.hadoop.ipc.RPC$Server.call(RPC.java:340)
        at org.apache.hadoop.ipc.Server$Handler.run(Server.java:566)

        at org.apache.hadoop.ipc.Client.call(Client.java:470)
        at org.apache.hadoop.ipc.RPC$Invoker.invoke(RPC.java:165)
        at org.apache.hadoop.dfs.$Proxy1.getBlockLocations(Unknown Source)
        at sun.reflect.GeneratedMethodAccessor3.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:585)
        at org.apache.hadoop.io.retry.RetryInvocationHandler.invokeMethod(RetryInvocationHandler.java:82)
        at org.apache.hadoop.io.retry.RetryInvocationHandler.invoke(RetryInvocationHandler.java:59)
        at org.apache.hadoop.dfs.$Proxy1.getBlockLocations(Unknown Source)
        at org.apache.hadoop.dfs.DFSClient.getHints(DFSClient.java:246)
        at org.apache.hadoop.dfs.DistributedFileSystem.getFileCacheHints(DistributedFileSystem.java:118)
        at org.apache.hadoop.mapred.FileSplit.getLocations(FileSplit.java:84)
        at org.apache.hadoop.mapred.JobClient.writeSplitsFile(JobClient.java:477)
        at org.apache.hadoop.mapred.JobClient.submitJob(JobClient.java:379)
        at org.apache.hadoop.mapred.JobClient.runJob(JobClient.java:564)
        at org.apache.hadoop.examples.Sort.main(Sort.java:113)

By the way, when i did fsck on the filesystem it didn't print any conclusion - i.e., neither did it complain of the missing block nor did it say the filesystem was healthy.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.