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

Chris Nauroth resolved HDFS-6641.
---------------------------------

    Resolution: Not a Problem

Hello, [~brahmareddy].  There is some discussion of this topic on the original 
concat issue: HDFS-222.  The concat destination file must still maintain the 
invariant that all blocks have the same length, except for possibly the last 
block, which may be partially filled.  If this invariant were not maintained, 
then it could cause unpredictable behavior later when a client attempts to read 
that file.

I'm resolving this issue as Not a Problem, because I believe this is all 
working as designed.

> [ HDFS- File Concat ] Concat will fail when block is not full
> -------------------------------------------------------------
>
>                 Key: HDFS-6641
>                 URL: https://issues.apache.org/jira/browse/HDFS-6641
>             Project: Hadoop HDFS
>          Issue Type: Bug
>          Components: namenode
>    Affects Versions: 2.4.1
>            Reporter: Brahma Reddy Battula
>
> sually we can't ensure lastblock alwaysfull...please let me know purpose of 
> following check..
>     long blockSize = trgInode.getPreferredBlockSize();
>     // check the end block to be full
>     final BlockInfo last = trgInode.getLastBlock();
>     if(blockSize != last.getNumBytes()) {
>       throw new HadoopIllegalArgumentException("The last block in " + target
>           + " is not full; last block size = " + last.getNumBytes()
>           + " but file block size = " + blockSize);
>     }
> If it is issue, I'll file jira.
> Following is the trace..
> exception in thread "main" 
> org.apache.hadoop.ipc.RemoteException(org.apache.hadoop.HadoopIllegalArgumentException):
>  The last block in /Test.txt is not full; last block size = 14 but file block 
> size = 134217728
> at 
> org.apache.hadoop.hdfs.server.namenode.FSNamesystem.concatInternal(FSNamesystem.java:1887)
> at 
> org.apache.hadoop.hdfs.server.namenode.FSNamesystem.concatInt(FSNamesystem.java:1833)
> at 
> org.apache.hadoop.hdfs.server.namenode.FSNamesystem.concat(FSNamesystem.java:1795)
> at 
> org.apache.hadoop.hdfs.server.namenode.NameNodeRpcServer.concat(NameNodeRpcServer.java:704)
> at 
> org.apache.hadoop.hdfs.protocolPB.ClientNamenodeProtocolServerSideTranslatorPB.concat(ClientNamenodeProtocolServerSideTranslatorPB.java:512)
> at 
> org.apache.hadoop.hdfs.protocol.proto.ClientNamenodeProtocolProtos$ClientNamenodeProtocol$2.callBlockingMethod(ClientNamenodeProtocolProtos.java)



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to