Uploaded image for project: 'Flume'
  1. Flume
  2. FLUME-2259

transaction closure not happening for all the scenario in hbasesink

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • 1.4.0
    • 1.5.0
    • Sinks+Sources
    • None

    Description

      Hbase sink will not close the transaction if any error occurs like below

      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)
      

      This will cause hbase sink to become non operative.

      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)
      

      Attachments

        1. FLUME-2259.patch
          2 kB
          Gopinathan A
        2. FLUME-2259_1.patch
          4 kB
          Gopinathan A
        3. FLUME-2259-2.patch
          10 kB
          Gopinathan A

        Issue Links

          Activity

            People

              gopinathan.av Gopinathan A
              gopinathan.av Gopinathan A
              Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: