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

Include the guava classes as a dependency for jobs using mapreduce.TableMapReduceUtil

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 0.94.4
    • Fix Version/s: 0.94.6, 0.95.1
    • Component/s: None
    • Labels:
      None

      Description

      The guava classes go as a dependency for jobs using TableMapReduceUtil from the org.apache.hadoop.hbase.mapred package but the same doesn't happen for jobs using the same class from org.apache.hadoop.hbase.mapreduce package. Due to this, tasks of the mapreduce jobs that wants to communicate with a secure cluster fails. The stack trace of the failing tasks:

      Error: java.lang.ClassNotFoundException: com.google.common.collect.ImmutableSet
      at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
      at java.security.AccessController.doPrivileged(Native Method)
      at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
      at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
      at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
      at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
      at org.apache.hadoop.hbase.ipc.SecureServer.<clinit>(SecureServer.java:96)

      We just need to add the dependency on the guava classes in the mapreduce.TableMapReduceUtil class.

        Attachments

        1. 7851-1.patch
          0.7 kB
          Devaraj Das

          Activity

            People

            • Assignee:
              devaraj Devaraj Das
              Reporter:
              devaraj Devaraj Das
            • Votes:
              0 Vote for this issue
              Watchers:
              8 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: