[
https://issues.apache.org/jira/browse/FLUME-2457?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Johny Rufus reassigned FLUME-2457:
----------------------------------
Assignee: Johny Rufus
> Lifecycle of HBase sink is broken
> ---------------------------------
>
> Key: FLUME-2457
> URL: https://issues.apache.org/jira/browse/FLUME-2457
> Project: Flume
> Issue Type: Bug
> Components: Sinks+Sources
> Affects Versions: v1.5.0
> Reporter: Tycho Lamerigts
> Assignee: Johny Rufus
>
> If the start() method of the HBase sink throws an exception then flume tries
> to call start() again without first calling stop(). This leads to an
> unrecoverable state where flume keeps calling start() forever and HBase Sink
> keeps throwing the same exception forever (see stacktrace below). This can
> happen, for example, if HBase is down for a long time (10 mins) during the
> very first call to start().
> Note that this also negatively affects a flume failover sinkgroup containing
> a HBase sink, because the group refuses to failover if the start() method of
> one of the sinks in the group throws an exception (this may be a separate bug)
> {noformat}
> 2014-09-08 11:00:17,409 ERROR org.apache.flume.lifecycle.LifecycleSupervisor:
> Unable to start SinkRunner: {
> policy:org.apache.flume.sink.DefaultSinkProcessor@481352e6 counterGroup:{
> name:null counters:{} } } - Exception follows.
> java.lang.IllegalArgumentException: Please call stop before calling start on
> an old instance.
> at
> com.google.common.base.Preconditions.checkArgument(Preconditions.java:88)
> at org.apache.flume.sink.hbase.HBaseSink.start(HBaseSink.java:132)
> at
> org.apache.flume.sink.DefaultSinkProcessor.start(DefaultSinkProcessor.java:46)
> at org.apache.flume.SinkRunner.start(SinkRunner.java:79)
> at
> org.apache.flume.lifecycle.LifecycleSupervisor$MonitorRunnable.run(LifecycleSupervisor.java:251)
> at
> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
> at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:304)
> at
> java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:178)
> at
> java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
> at
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
> at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
> at java.lang.Thread.run(Thread.java:745)
> {noformat}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)