I'm using the KafkaLog4jAppender with Solr and ran into an interesting issue recently. The disk filled up on my Kafka broker (just a single broker, this is a dev environment) and Solr slowed down to a near halt. My best estimation is that each log4j log message created was incurring quite a bit of overhead dealing with exceptions coming back from the Kafka broker.
So I'm wondering, would it make sense to implement some back off strategy for this client if it starts getting exceptions from the server? Alternatively, could maybe the Kafka broker mark it self as "down" in ZooKeeper if it gets into certain situations (like disk full). I guess this really could apply to any client, not just the log4j appender.