[
https://issues.apache.org/jira/browse/FLUME-3044?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
dengkai updated FLUME-3044:
---------------------------
Affects Version/s: v1.7.0
> KafkaSink should avoid to call method without timeout param
> -----------------------------------------------------------
>
> Key: FLUME-3044
> URL: https://issues.apache.org/jira/browse/FLUME-3044
> Project: Flume
> Issue Type: Improvement
> Affects Versions: v1.7.0
> Reporter: dengkai
> Assignee: dengkai
> Attachments: FLUME-3044.patch
>
>
> There are several method call in kafka sink with no timeout params, in some
> cases, kafka sink will await forever if no interruption.
> For example,
> case 1 : When we stop kafka sink, it will call producer.close() without
> timeout param. This will cause another close method in producer with timeout
> param as (Long.MAX_VALUE, TimeUnit.MILLISECONDS). Then it will wait
> producer's IOThread exited, if the IOThread can't exit normally, kafka sink
> will block all the time and there is no effect of kill -TERM.
> case 2 : When an uncaught exception happened such as Correlation ID does not
> match in Kafka Producer Sender thread, the sender will lost this request. If
> we call producer.flush(), there is a await() without timeout param, kafka
> sink will block all the time except restart it.
> case 3 : Like case 2, when we call future.get() without timeout param but the
> request in Kafka Producer lost, kafka sink will also block all the time.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)