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

Remove references to Guava Objects.toStringHelper

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • 2.9.0, 2.8.1, 2.7.8
    • 2.9.0, 2.8.3, 2.7.8
    • None
    • None
    • Reviewed

    Description

      Use provided a guava 23.0 jar as part of the job submission.

      2017-09-20 16:10:42,897 [INFO] [main] |service.AbstractService|: Service org.apache.tez.dag.app.DAGAppMaster failed in state STARTED; cause: org.apache.hadoop.service.ServiceStateException: java.lang.NoSuchMethodError: com.google.common.base.Objects.toStringHelper(Ljava/lang/Object;)Lcom/google/common/base/Objects$ToStringHelper;
      org.apache.hadoop.service.ServiceStateException: java.lang.NoSuchMethodError: com.google.common.base.Objects.toStringHelper(Ljava/lang/Object;)Lcom/google/common/base/Objects$ToStringHelper;
      	at org.apache.hadoop.service.ServiceStateException.convert(ServiceStateException.java:59)
      	at org.apache.tez.dag.app.DAGAppMaster.startServices(DAGAppMaster.java:1989)
      	at org.apache.tez.dag.app.DAGAppMaster.serviceStart(DAGAppMaster.java:2056)
      	at org.apache.hadoop.service.AbstractService.start(AbstractService.java:193)
      	at org.apache.tez.dag.app.DAGAppMaster$9.run(DAGAppMaster.java:2707)
      	at java.security.AccessController.doPrivileged(Native Method)
      	at javax.security.auth.Subject.doAs(Subject.java:422)
      	at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1936)
      	at org.apache.tez.dag.app.DAGAppMaster.initAndStartAppMaster(DAGAppMaster.java:2703)
      	at org.apache.tez.dag.app.DAGAppMaster.main(DAGAppMaster.java:2508)
      Caused by: java.lang.NoSuchMethodError: com.google.common.base.Objects.toStringHelper(Ljava/lang/Object;)Lcom/google/common/base/Objects$ToStringHelper;
      	at org.apache.hadoop.metrics2.lib.MetricsRegistry.toString(MetricsRegistry.java:419)
      	at java.lang.String.valueOf(String.java:2994)
      	at java.lang.StringBuilder.append(StringBuilder.java:131)
      	at org.apache.hadoop.ipc.metrics.RpcMetrics.<init>(RpcMetrics.java:74)
      	at org.apache.hadoop.ipc.metrics.RpcMetrics.create(RpcMetrics.java:80)
      	at org.apache.hadoop.ipc.Server.<init>(Server.java:2658)
      	at org.apache.hadoop.ipc.RPC$Server.<init>(RPC.java:968)
      	at org.apache.hadoop.ipc.ProtobufRpcEngine$Server.<init>(ProtobufRpcEngine.java:367)
      	at org.apache.hadoop.ipc.ProtobufRpcEngine.getServer(ProtobufRpcEngine.java:342)
      	at org.apache.hadoop.ipc.RPC$Builder.build(RPC.java:810)
      	at org.apache.tez.dag.api.client.DAGClientServer.createServer(DAGClientServer.java:134)
      	at org.apache.tez.dag.api.client.DAGClientServer.serviceStart(DAGClientServer.java:82)
      	at org.apache.hadoop.service.AbstractService.start(AbstractService.java:193)
      	at org.apache.tez.dag.app.DAGAppMaster$ServiceWithDependency.start(DAGAppMaster.java:1909)
      	at org.apache.tez.dag.app.DAGAppMaster$ServiceThread.run(DAGAppMaster.java:1930)
      2017-09-20 16:10:42,898 [ERROR] [main] |rm.TaskSchedulerManager|: Failed to do a clean initiateStop for Scheduler: [0:TezYarn]
      

      Metrics2 has been relying on deprecated toStringHelper for some time now which was finally removed in guava 21.0. Removing the dependency on this method will free up the user to supplying their own guava jar again.

      Attachments

        1. HADOOP-14891.001-branch-2.patch
          9 kB
          Jonathan Turner Eagles

        Issue Links

          Activity

            People

              jeagles Jonathan Turner Eagles
              jeagles Jonathan Turner Eagles
              Votes:
              0 Vote for this issue
              Watchers:
              7 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: