Hadoop Common
  1. Hadoop Common
  2. HADOOP-8361

Avoid out-of-memory problems when deserializing strings

    Details

    • Type: Improvement Improvement
    • Status: Closed
    • Priority: Minor Minor
    • Resolution: Fixed
    • Affects Version/s: 2.0.0-alpha
    • Fix Version/s: 2.0.2-alpha
    • Component/s: None
    • Labels:
      None
    • Hadoop Flags:
      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.

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

        Issue Links

          Activity

            People

            • Assignee:
              Colin Patrick McCabe
              Reporter:
              Colin Patrick McCabe
            • Votes:
              0 Vote for this issue
              Watchers:
              6 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Development