Uploaded image for project: 'HBase'
  1. HBase
  2. HBASE-13373

Squash HFileReaderV3 together with HFileReaderV2 and AbstractHFileReader; ditto for Scanners and BlockReader, etc.

    XMLWordPrintableJSON

Details

    • Task
    • Status: Closed
    • Major
    • Resolution: Fixed
    • None
    • 2.0.0
    • None
    • None
    • Incompatible change, Reviewed
    • Marking as incompatible change. Requires hfiles be major version >= 2 and >= minor version 3. Version 3 files are enabled by default in 1.0. 0.98 writes version 2 minor version 3. You cannot go to 1.0 from anything before 0.98.

    Description

      Profiling I actually ran into case where complaint that could not inline because:

      MaxInlineLevel maximum number of nested calls that are inlined 9 intx

      i.e. method was more than 9 levels deep.

      The HFileReaderV? with Abstracts is not needed anymore now we are into the clear with V3 enabled since hbase 1.0.0; we can have just an Interface and an implementation. If we need to support a new hfile type, can hopefully do it in a backward compatible way now we have Cell Interface, etc.

      Squashing all this stuff together actually makes it easier figuring what is going on when reading code. I can also get rid of a bunch of duplication too.

      Attached is a WIP. Doesn't fully compile yet but you get the idea.

      I'll keep on unless objection. Will try it against data written with old classes as soon as I have something working. I don't believe we write classnames into our data.

      Attachments

        1. 0001-HBASE-13373-Squash-HFileReaderV3-together-with-HFile.patch
          237 kB
          Michael Stack
        2. 13373.txt
          226 kB
          Michael Stack
        3. 13373.v3.txt
          233 kB
          Michael Stack
        4. 13373.v3.txt
          230 kB
          Michael Stack
        5. 13373.v5.txt
          243 kB
          Michael Stack
        6. 13373.v6.txt
          245 kB
          Michael Stack
        7. 13373.v6.txt
          243 kB
          Michael Stack
        8. 13373.v6.txt
          243 kB
          Michael Stack
        9. 13373.v6.txt
          243 kB
          Michael Stack
        10. 13373.v6.txt
          243 kB
          Michael Stack
        11. 13373.wip.txt
          100 kB
          Michael Stack

        Issue Links

          Activity

            People

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

              Dates

                Created:
                Updated:
                Resolved: