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

    • Type: Sub-task
    • Status: Resolved
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: None
    • Component/s: hdfs-client
    • Labels:
      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

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

              Dates

              • Created:
                Updated:
                Resolved: