[ https://issues.apache.org/jira/browse/KAFKA-204?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13151297#comment-13151297 ]
Jun Rao commented on KAFKA-204: ------------------------------- The main reason this was added is to show the requested size and the caller that triggered such a request. It would be nice if both pieces are logged together. With the new patch, those two pieces are logged separately (although should be close) and someone has to link them together manually. > BoundedByteBufferReceive hides OutOfMemoryError > ----------------------------------------------- > > Key: KAFKA-204 > URL: https://issues.apache.org/jira/browse/KAFKA-204 > Project: Kafka > Issue Type: Bug > Affects Versions: 0.7 > Reporter: Chris Burroughs > Assignee: Chris Burroughs > Priority: Critical > Attachments: k204-v1.txt > > > private def byteBufferAllocate(size: Int): ByteBuffer = { > var buffer: ByteBuffer = null > try { > buffer = ByteBuffer.allocate(size) > } > catch { > case e: OutOfMemoryError => > throw new RuntimeException("OOME with size " + size, e) > case e2 => > throw e2 > } > buffer > } > This hides the fact that an Error occurred, and will likely result in some > log handler printing a message, instead of exiting with non-zero status. > Knowing how large the allocation was that caused an OOM is really nice, so > I'd suggest logging in byteBufferAllocate and then re-throwing > OutOfMemoryError -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira