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

Avoid out-of-memory problems when deserializing strings

VotersWatch issueWatchersCreate sub-taskLinkCloneUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments
    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.007.patch
          8 kB
          Colin McCabe
        2. HADOOP-8361.006.patch
          8 kB
          Colin McCabe
        3. HADOOP-8361.005.patch
          14 kB
          Colin McCabe
        4. HADOOP-8361.004.patch
          14 kB
          Colin McCabe
        5. HADOOP-8361.003.patch
          12 kB
          Colin McCabe
        6. HADOOP-8361.002.patch
          10 kB
          Colin McCabe
        7. HADOOP-8361.001.patch
          8 kB
          Colin McCabe

        Issue Links

        Activity

          This comment will be Viewable by All Users Viewable by All Users
          Cancel

          People

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

            Dates

              Created:
              Updated:
              Resolved:

              Slack

                Issue deployment