[ https://issues.apache.org/jira/browse/LOG4J2-1824?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15894651#comment-15894651 ]
Matt Sicker commented on LOG4J2-1824: ------------------------------------- We can reuse ProducerRecord objects I bet. Since the KafkaProducer method itself is async, we'd have to keep a configurable pool of ProducerRecords that get returned via the callback function provided to KafkaProducer. Then we can have a strategy for how to handle the pool emptying: block, expand the pool, or just use garbage-collected objects at that point. > (GC) Avoid allocating temporary objects in KafkaAppender > -------------------------------------------------------- > > Key: LOG4J2-1824 > URL: https://issues.apache.org/jira/browse/LOG4J2-1824 > Project: Log4j 2 > Issue Type: Improvement > Components: Appenders > Reporter: Matt Sicker > > Due to API limitations in kafka-clients, log messages must be encoded into > byte arrays rather than directly into ByteBuffers via > {{Encoder<LogEvent>}}-enhanced layouts. I've opened up KAFKA-4802 to get > support on the client side for not converting the provided ByteBuffers back > into a byte array, but in the meantime, KafkaAppender and KafkaManager can be > enhanced to use the Encoder API. -- This message was sent by Atlassian JIRA (v6.3.15#6346) --------------------------------------------------------------------- To unsubscribe, e-mail: log4j-dev-unsubscr...@logging.apache.org For additional commands, e-mail: log4j-dev-h...@logging.apache.org