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

transaction closure not happening for all the scenario in hbasesink

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 1.4.0
    • Fix Version/s: 1.5.0
    • Component/s: Sinks+Sources
    • Labels:
      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_1.patch
          4 kB
          Gopinathan A
        2. FLUME-2259.patch
          2 kB
          Gopinathan A
        3. FLUME-2259-2.patch
          10 kB
          Gopinathan A

          Issue Links

            Activity

              People

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

                Dates

                • Created:
                  Updated:
                  Resolved: