org.apache.flume.ChannelException: Failed to obtain lock for writing to the log. Try increasing the log write timeout value. [channel=c1]

Apache's JIRA Issue Tracker | Gopinathan A | 3 years ago
tip
Click on the to mark the solution that helps you, Samebug will learn from it.
As a community member, you’ll be rewarded for you help.
  1. 0

    Hbase sink will not close the transaction if any error occurs like below {noformat} 06 Dec 2013 12:04:50,466 ERROR [SinkRunner-PollingRunner-DefaultSinkProcessor] (org.apache.flume.SinkRunner$PollingRunner.run:160) - Unable to deliver event. Exception follows. org.apache.flume.ChannelException: Failed to obtain lock for writing to the log. Try increasing the log write timeout value. [channel=c1] at org.apache.flume.channel.file.FileChannel$FileBackedTransaction.doTake(FileChannel.java:512) at org.apache.flume.channel.BasicTransactionSemantics.take(BasicTransactionSemantics.java:113) at org.apache.flume.channel.BasicChannelSemantics.take(BasicChannelSemantics.java:95) at org.apache.flume.sink.hbase.HBaseSink.process(HBaseSink.java:239) at org.apache.flume.sink.DefaultSinkProcessor.process(DefaultSinkProcessor.java:68) at org.apache.flume.SinkRunner$PollingRunner.run(SinkRunner.java:147) at java.lang.Thread.run(Thread.java:662) {noformat} This will cause hbase sink to become non operative. {noformat} java.lang.IllegalStateException: begin() called when transaction is OPEN! at com.google.common.base.Preconditions.checkState(Preconditions.java:149) at org.apache.flume.channel.BasicTransactionSemantics.begin(BasicTransactionSemantics.java:131) at org.apache.flume.sink.hbase.HBaseSink.process(HBaseSink.java:236) at org.apache.flume.sink.DefaultSinkProcessor.process(DefaultSinkProcessor.java:68) at org.apache.flume.SinkRunner$PollingRunner.run(SinkRunner.java:147) at java.lang.Thread.run(Thread.java:662) 04 Dec 2013 16:55:38,553 ERROR [SinkRunner-PollingRunner-DefaultSinkProcessor] (org.apache.flume.SinkRunner$PollingRunner.run:160) - Unable to deliver event. Exception follows. java.lang.IllegalStateException: begin() called when transaction is OPEN! at com.google.common.base.Preconditions.checkState(Preconditions.java:149) at org.apache.flume.channel.BasicTransactionSemantics.begin(BasicTransactionSemantics.java:131) at org.apache.flume.sink.hbase.HBaseSink.process(HBaseSink.java:236) at org.apache.flume.sink.DefaultSinkProcessor.process(DefaultSinkProcessor.java:68) at org.apache.flume.SinkRunner$PollingRunner.run(SinkRunner.java:147) at java.lang.Thread.run(Thread.java:662) {noformat}

    Apache's JIRA Issue Tracker | 3 years ago | Gopinathan A
    org.apache.flume.ChannelException: Failed to obtain lock for writing to the log. Try increasing the log write timeout value. [channel=c1]

    Root Cause Analysis

    1. org.apache.flume.ChannelException

      Failed to obtain lock for writing to the log. Try increasing the log write timeout value. [channel=c1]

      at org.apache.flume.channel.file.FileChannel$FileBackedTransaction.doTake()
    2. org.apache.flume
      FileChannel$FileBackedTransaction.doTake
      1. org.apache.flume.channel.file.FileChannel$FileBackedTransaction.doTake(FileChannel.java:512)
      1 frame
    3. Flume
      BasicChannelSemantics.take
      1. org.apache.flume.channel.BasicTransactionSemantics.take(BasicTransactionSemantics.java:113)
      2. org.apache.flume.channel.BasicChannelSemantics.take(BasicChannelSemantics.java:95)
      2 frames
    4. org.apache.flume
      HBaseSink.process
      1. org.apache.flume.sink.hbase.HBaseSink.process(HBaseSink.java:239)
      1 frame
    5. Flume
      SinkRunner$PollingRunner.run
      1. org.apache.flume.sink.DefaultSinkProcessor.process(DefaultSinkProcessor.java:68)
      2. org.apache.flume.SinkRunner$PollingRunner.run(SinkRunner.java:147)
      2 frames
    6. Java RT
      Thread.run
      1. java.lang.Thread.run(Thread.java:662)
      1 frame