[
https://issues.apache.org/jira/browse/HADOOP-2955?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12577236#action_12577236
]
Mahadev konar commented on HADOOP-2955:
---------------------------------------
+1 on the patch.. reviewed..
> ant test fail for TestCrcCorruption with OutofMemory.
> -----------------------------------------------------
>
> Key: HADOOP-2955
> URL: https://issues.apache.org/jira/browse/HADOOP-2955
> Project: Hadoop Core
> Issue Type: Bug
> Components: dfs
> Affects Versions: 0.17.0
> Reporter: Mahadev konar
> Assignee: Raghu Angadi
> Priority: Blocker
> Attachments: HADOOP-2955.java, HADOOP-2955.patch
>
>
> TestCrcCorruption sometimes corrupts the metadata for crc and leads to
> corruption in the length of of bytes of checksum (second field in metadata).
> This does not happen always but somtimes since corruption is random in the
> test.
> I put in a debug statement in the allocation to see how many bytes were being
> allocated and ran it for few times. This is one of the allocation in
> BlockSender:sendBlock()
> int maxChunksPerPacket = Math.max(1,
> (BUFFER_SIZE + bytesPerChecksum - 1)/bytesPerChecksum);
> int sizeofPacket = PKT_HEADER_LEN +
> (bytesPerChecksum + checksumSize) * maxChunksPerPacket;
> LOG.info("Comment: bytes to allocate " + sizeofPacket);
> ByteBuffer pktBuf = ByteBuffer.allocate(sizeofPacket);
> The output in one of the allocations is
> dfs.DataNode (DataNode.java:sendBlock(1766)) - Comment: bytes to allocate
> 1232596786
> So we should check for number of bytes being allocated in sendBlock (should
> be less than the block size? -- seems like a good default).
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.