[ https://issues.apache.org/jira/browse/FLUME-2457?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16259363#comment-16259363 ]
Jerry Chabot commented on FLUME-2457: ------------------------------------- We just encountered this error in Flume 1.6. This makes Flume very unreliable for Production use given you can't rely on it starting successfully. Are there any plans to fix? > 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: 1.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.4.14#64029)