Uploaded image for project: 'Hadoop Common'
  1. Hadoop Common
  2. HADOOP-8361

Avoid out-of-memory problems when deserializing strings

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Closed
    • Minor
    • Resolution: Fixed
    • 2.0.0-alpha
    • 2.0.2-alpha
    • None
    • None
    • Reviewed

    Description

      In HDFS, we want to be able to read the edit log without crashing on an OOM condition. Unfortunately, we currently cannot do this, because there are no limits on the length of certain data types we pull from the edit log. We often read strings without setting any upper limit on the length we're prepared to accept.

      It's not that we don't have limits on strings-- for example, HDFS limits the maximum path length to 8000 UCS-2 characters. Linux limits the maximum user name length to either 64 or 128 bytes, depending on what version you are running. It's just that we're not exposing these limits to the deserialization functions that need to be aware of them.

      Attachments

        1. HADOOP-8361.001.patch
          8 kB
          Colin McCabe
        2. HADOOP-8361.002.patch
          10 kB
          Colin McCabe
        3. HADOOP-8361.003.patch
          12 kB
          Colin McCabe
        4. HADOOP-8361.004.patch
          14 kB
          Colin McCabe
        5. HADOOP-8361.005.patch
          14 kB
          Colin McCabe
        6. HADOOP-8361.006.patch
          8 kB
          Colin McCabe
        7. HADOOP-8361.007.patch
          8 kB
          Colin McCabe

        Issue Links

          Activity

            People

              cmccabe Colin McCabe
              cmccabe Colin McCabe
              Votes:
              0 Vote for this issue
              Watchers:
              7 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: