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

Failover processor does not kick-in for HDFS sink on IOException

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Patch Available
    • Major
    • Resolution: Unresolved
    • 1.5.2
    • None
    • None
    • Fix the problem that failover processor does not kick-in for HDFS sink on IOException

    Description

      From a recent thread on the user mailing list:

      I have investigated the HDFSEventSink source code, found if the exception was IOException , the exception would not throw to the upper layer,
      So FailOverSinkProcessor would not mark this sink as dead.

         ....
          } catch (IOException eIO) {
            transaction.rollback();
            LOG.warn("HDFS IO error", eIO);
            return Status.BACKOFF;
          } catch (Throwable th) {
            transaction.rollback();
            LOG.error("process failed", th);
            if (th instanceof Error) {
              throw (Error) th;
            } else {
              throw new EventDeliveryException(th);
            }
          }
          ....
      

      The failover processor should be able to use the backoff signal as indication of failure and switch over to the next sink.

      Attachments

        1. FLUME-2564.patch
          2 kB
          waynewan

        Activity

          People

            aprabhakar Arvind Prabhakar
            aprabhakar Arvind Prabhakar
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated: