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

MapFile.get on HDFS in TRUNK is WAY!!! slower than 0.15.x

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Blocker
    • Resolution: Fixed
    • None
    • 0.16.0
    • io
    • None

    Description

      Stall happens down in SequenceFile in the first call to getPos inside readRecordLength. I tried the johano patch from HADOOP-2172 that restores the positional cache but that didn't seem to be the issue here.

      Here is data to support my assertion.

      I wrote a little program to make a MapFile of 1M records. I then did 1M random reads from same file. Below are timings from a 0.15.0 and TRUNK as of this afternoon run.

      0.15.x branch:

      [stack@aa0-000-12 branch-0.15]$ ./bin/hadoop org.apache.hadoop.io.TestMapFile
      .07/12/15 01:29:02 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
      07/12/15 01:29:02 INFO io.TestMapFile: Writing 1000000 rows to testMapFileRandomAccess
      07/12/15 01:32:04 INFO io.TestMapFile: Writing 1000000 records took 182009ms
      07/12/15 01:32:04 INFO io.TestMapFile: Reading 1000000 random rows
      07/12/15 01:48:02 INFO io.TestMapFile: Reading 1000000 random records took 958243ms
      Time: 1,140.652
      OK (1 test)
      

      For the below test using TRUNK r604352, I amended the test so it output a log message every 100k reads:

      [stack@aa0-000-12 hadoop-trunk]$ ./bin/hadoop org.apache.hadoop.io.TestMapFile
      .07/12/15 01:56:34 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
      07/12/15 01:56:34 INFO io.TestMapFile: Writing 1000000 rows to testMapFileRandomAccess
      07/12/15 01:59:38 INFO io.TestMapFile: Writing 1000000 records took 183986ms
      07/12/15 01:59:38 INFO io.TestMapFile: Reading 1000000 random rows
      .........
      

      After 20 minutes it still hadn't printed out the 'read 100k messages' (I had to leave – will fill in final figures later)

      Attachments

        1. TestMapFile.java
          3 kB
          Michael Stack
        2. TestMapFile.java
          3 kB
          Michael Stack
        3. 2434.patch
          0.6 kB
          Michael Stack

        Activity

          People

            stack Michael Stack
            stack Michael Stack
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: