1. Flume
  2. FLUME-1219

Race conditions in BucketWriter / HDFSEventSink


    • Type: Bug Bug
    • Status: Resolved
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: v1.2.0
    • Component/s: None
    • Labels:


      BucketWriter has several race conditions that came up during my performance testing over the weekend. One issue that caused data loss was the lack of atomic close() and open() semantics related to the "retry" mechanism after the abort() call in HDFSEventSink.process().

      Another issue is the lack of clearly delineated responsibilities for calling open(), flush(), close(), etc. For example, HDFSEventSink.start() calls open(), HDFSEventSink.process() calls and abort() which calls open(), and BucketWriter.append() also calls close() and open().

      There is another race condition related to the JVM shutdown hooks, which cause .tmp files not to be renamed.

      These APIs need to be refactored and their responsibilities need to be clarified.

      1. FLUME-1219-3.patch
        34 kB
        Mike Percy
      2. FLUME-1219-1.patch
        29 kB
        Mike Percy

        Issue Links


          Mike Percy created issue -
          Mike Percy made changes -
          Field Original Value New Value
          Assignee Mike Percy [ mpercy ]
          Mike Percy made changes -
          Attachment FLUME-1219-1.patch [ 12528394 ]
          Mike Percy made changes -
          Status Open [ 1 ] In Progress [ 3 ]
          Mike Percy made changes -
          Remote Link This issue links to "Review board link (Web Link)" [ 10000 ]
          Mike Percy made changes -
          Attachment FLUME-1219-3.patch [ 12528406 ]
          Arvind Prabhakar made changes -
          Status In Progress [ 3 ] Resolved [ 5 ]
          Fix Version/s v1.2.0 [ 12320243 ]
          Resolution Fixed [ 1 ]
          Mike Percy made changes -
          Link This issue is duplicated by FLUME-1173 [ FLUME-1173 ]
          Mike Percy made changes -
          Link This issue is duplicated by FLUME-1163 [ FLUME-1163 ]


            • Assignee:
              Mike Percy
              Mike Percy
            • Votes:
              0 Vote for this issue
              5 Start watching this issue


              • Created: