Uploaded image for project: 'Hadoop HDFS'
  1. Hadoop HDFS
  2. HDFS-8707 Implement an async pure c++ HDFS client
  3. HDFS-11758

libhdfs++: Catch exceptions thrown by runtime hooks

    XMLWordPrintableJSON

Details

    • Sub-task
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • None
    • None
    • hdfs-client
    • None

    Description

      Right now there's nothing to stop a user supplied event callback from throwing and unwinding the stack on the asio worker thread. This can lead to async filesystem operations that never complete because the stack was unwound before setting up the next async io call.

      Best practice is to be really careful about what is done inside event hooks and callbacks: don't throw, sleep, or anything else that might block. I've seen a few issues pop up because a hook was made for monitoring purposes and later on stuff that was able to throw was added without realizing where the exception may end up.

      Attachments

        1. HDFS-11758.HDFS-8707.000.patch
          24 kB
          James Clampffer
        2. HDFS-11758.HDFS-8707.001.patch
          26 kB
          James Clampffer

        Activity

          People

            James C James Clampffer
            James C James Clampffer
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: