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

Replace Jackson with relocated gson everywhere but hbase-rest

    XMLWordPrintableJSON

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Blocker
    • Resolution: Fixed
    • Affects Version/s: 1.5.0, 1.3.6, 1.4.11
    • Fix Version/s: 1.5.0, 1.3.6, 1.4.11
    • Component/s: Client, shading
    • Labels:
      None
    • Hadoop Flags:
      Incompatible change
    • Release Note:
      Hide
      <!-- markdown -->

      HBase has stopped including Jackson in the classpath seen by downstream users except for as a part of running the HBase REST Service or when brought in transitively from Apache Hadoop.

      Downstream users who still need Jackson classes should include the dependency themselves.

      Moving from Jackson2 to shaded Gson can also expose some additional fields in
      serialized JSON strings. e.g. BucketAllocator JSON used to ignore "indexStatistics", "freeSize" earlier, however, now with Gson converter, these fields would be present in serialized string.
      Show
      <!-- markdown --> HBase has stopped including Jackson in the classpath seen by downstream users except for as a part of running the HBase REST Service or when brought in transitively from Apache Hadoop. Downstream users who still need Jackson classes should include the dependency themselves. Moving from Jackson2 to shaded Gson can also expose some additional fields in serialized JSON strings. e.g. BucketAllocator JSON used to ignore "indexStatistics", "freeSize" earlier, however, now with Gson converter, these fields would be present in serialized string.

      Description

      HBASE-22728 moved out jackson transitive dependencies. mostly good, but moving jackson2 to provided in hbase-server broke few things

      testing-util needs a transitive jackson 2 in order to start the minicluster, currently fails with CNFE for com.fasterxml.jackson.databind.ObjectMapper when trying to initialize the master.

      shaded-testing-util needs a relocated jackson 2 for the same reason

      it's not used for any of the mapreduce stuff in hbase-server, so hbase-shaded-server for that purpose should be fine. But it is used by WALPrettyPrinter and some folks might expect that to work from that artifact since it is present.

        Attachments

        1. HBASE-23015.branch-1.3.000.patch
          71 kB
          Viraj Jasani
        2. HBASE-23015.branch-1.3.001.patch
          71 kB
          Viraj Jasani
        3. HBASE-23015.branch-1.3.002.patch
          71 kB
          Viraj Jasani

          Issue Links

            Activity

              People

              • Assignee:
                vjasani Viraj Jasani
                Reporter:
                busbey Sean Busbey
              • Votes:
                0 Vote for this issue
                Watchers:
                5 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: