You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@logging.apache.org by mi...@apache.org on 2016/09/28 14:39:47 UTC
logging-log4j2 git commit: Keep workaround to make sure it works with
Kafka 0.8
Repository: logging-log4j2
Updated Branches:
refs/heads/master b679156b2 -> 404d47502
Keep workaround to make sure it works with Kafka 0.8
Project: http://git-wip-us.apache.org/repos/asf/logging-log4j2/repo
Commit: http://git-wip-us.apache.org/repos/asf/logging-log4j2/commit/404d4750
Tree: http://git-wip-us.apache.org/repos/asf/logging-log4j2/tree/404d4750
Diff: http://git-wip-us.apache.org/repos/asf/logging-log4j2/diff/404d4750
Branch: refs/heads/master
Commit: 404d47502a869f6bbe580d82346200184d2e6587
Parents: b679156
Author: Mikael St�ldal <mi...@magine.com>
Authored: Wed Sep 28 16:39:24 2016 +0200
Committer: Mikael St�ldal <mi...@magine.com>
Committed: Wed Sep 28 16:39:24 2016 +0200
----------------------------------------------------------------------
.../log4j/core/appender/mom/kafka/KafkaManager.java | 15 ++++++++++++++-
1 file changed, 14 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/404d4750/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/mom/kafka/KafkaManager.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/mom/kafka/KafkaManager.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/mom/kafka/KafkaManager.java
index c5347a2..9302beb 100644
--- a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/mom/kafka/KafkaManager.java
+++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/mom/kafka/KafkaManager.java
@@ -58,7 +58,20 @@ public class KafkaManager extends AbstractManager {
@Override
public boolean releaseSub(final long timeout, final TimeUnit timeUnit) {
if (producer != null) {
- producer.close(timeout, timeUnit);
+ // This thread is a workaround for this Kafka issue: https://issues.apache.org/jira/browse/KAFKA-1660
+ final Runnable task = new Runnable() {
+ @Override
+ public void run() {
+ if (producer != null) {
+ producer.close();
+ }
+ }
+ };
+ try {
+ getLoggerContext().submitDaemon(task).get(timeout, timeUnit);
+ } catch (InterruptedException | ExecutionException | TimeoutException e) {
+ // ignore
+ }
}
return true;
}