[
https://issues.apache.org/jira/browse/KAFKA-524?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13578493#comment-13578493
]
David Arthur commented on KAFKA-524:
------------------------------------
It does appear to be synchronized, so that lock can be removed
https://github.com/apache/log4j/blob/trunk/src/main/java/org/apache/log4j/AppenderSkeleton.java#L228
I patched against 0.7 since that's what we have in production (and where
the fix was needed). However, looking at 0.8, it doesn't appear that
there is an option to connect via ZK. I see that it was removed via
KAFKA-369. What was the reasoning for this? In our deployment (as with
many others, I'm sure), ZooKeeper is the only globally known thing so it
is very useful to be able to connect to Kafka by way of ZooKeeper.
> Kafka Appender causes Log4j Deadlock
> ------------------------------------
>
> Key: KAFKA-524
> URL: https://issues.apache.org/jira/browse/KAFKA-524
> Project: Kafka
> Issue Type: Sub-task
> Affects Versions: 0.7.2
> Reporter: nicu marasoiu
> Labels: patch
> Fix For: 0.7.2
>
> Attachments:
> 0001-KAFKA-524-Defer-creating-Producer-in-log4j-appender.patch
>
>
> If you remove all log4j.properties from classpath (and prvent any log4j
> intialization previous to the one which involves kafka appender), and put
> KAFKA appender on rootLogger, then, even if you exclude the KAFKA appender
> from logger.kafka and logger.org, you get a Log4j deadlock when zookeeper
> send thread tries to issue a LOG.info, and for that it locks the root
> category (as its correct category, say org, is not yet set up in log4j, who
> is still in activateOptions on kafka appender).
> please read comments on the parent and ask any questions to [email protected]
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira