Uploaded image for project: 'Pig'
  1. Pig
  2. PIG-3498

Make pig binary work on both HBase version 0.94 and 0.95

    XMLWordPrintableJSON

Details

    • Task
    • Status: Resolved
    • Major
    • Resolution: Incomplete
    • 0.11
    • None
    • None
    • None

    Description

      HBase 0.95+ support has been added via PIG-3390. Whereas pig can be compiled against both 0.94 and 0.95, due to binary incompatibilities inside HBase, pig compiled against HBase 0.95 can't be used against 0.94 and vice versa.

      One of the issue we are facing is HBase class RowFilter, that changed constructor between the two HBase releases:

      • HBase 0.94 RowFilter(CompareOp, WritableByteArrayComparable)
      • HBase 0.95 RowFilter(CompareO, ByteArrayComparable)

      We are using children of the classes used in second parameter and therefore the same code compiles against both HBase versions. However as the entire constructor signature is saved into compiled Java class, generated binaries are compatible with only one HBase version.

      As we're releasing only one pig binary, it would be useful to make Pig compatible with both versions at the same time.

      Attachments

        Activity

          People

            Unassigned Unassigned
            jarcec Jarek Jarcec Cecho
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: