[ https://issues.apache.org/jira/browse/KAFKA-204?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13150590#comment-13150590 ]
Jay Kreps commented on KAFKA-204: --------------------------------- Uh...does anyone know what the motivation of this was originally? Catching OutOfMemoryError is a bit unorthodox... > 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 > Priority: Critical > > 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