Return-Path: X-Original-To: apmail-hbase-issues-archive@www.apache.org Delivered-To: apmail-hbase-issues-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 78A7710D46 for ; Sat, 22 Feb 2014 03:50:22 +0000 (UTC) Received: (qmail 27068 invoked by uid 500); 22 Feb 2014 03:50:22 -0000 Delivered-To: apmail-hbase-issues-archive@hbase.apache.org Received: (qmail 26780 invoked by uid 500); 22 Feb 2014 03:50:20 -0000 Mailing-List: contact issues-help@hbase.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Delivered-To: mailing list issues@hbase.apache.org Received: (qmail 26752 invoked by uid 99); 22 Feb 2014 03:50:19 -0000 Received: from arcas.apache.org (HELO arcas.apache.org) (140.211.11.28) by apache.org (qpsmtpd/0.29) with ESMTP; Sat, 22 Feb 2014 03:50:19 +0000 Date: Sat, 22 Feb 2014 03:50:19 +0000 (UTC) From: "Yong Zhang (JIRA)" To: issues@hbase.apache.org Message-ID: In-Reply-To: References: Subject: [jira] [Commented] (HBASE-10494) hadoop2 class reference in Maven Central's hbase-client-0.96.1.1-hadoop1 MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 [ https://issues.apache.org/jira/browse/HBASE-10494?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13909214#comment-13909214 ] Yong Zhang commented on HBASE-10494: ------------------------------------ The maven for HBase 0.94.16 had the same problem. It broken in the same ClassNotFoundException. I changed the version to 0.94.15 and it worked fine. > hadoop2 class reference in Maven Central's hbase-client-0.96.1.1-hadoop1 > ------------------------------------------------------------------------ > > Key: HBASE-10494 > URL: https://issues.apache.org/jira/browse/HBASE-10494 > Project: HBase > Issue Type: Bug > Affects Versions: 0.96.1.1 > Environment: Only affects jar on Maven Central. Jar in the hadoop1 tarball download is not affected. > Reporter: Dan LaRocque > Priority: Minor > > RpcClient$Connection.class as shipped in the hbase-client-0.96.1.1-hadoop1 jar on Maven Central contains references to org.apache.hadoop.net.SocketInputWrapper. I think this class does not exist in hadoop1 because a classfile search of central yields hits only on 2.0 and 0.23. There may be other references. I only know about this one because it was killing my HRegionServer early with this exception: > {noformat} > 2014-02-10 20:55:52,021 INFO [M:0;dalarolap:48768] master.ServerManager: Waiting for region servers count to settle; currently checked in 0, slept for 0 ms, expecting minimum of 1, maximum of 2147483647, timeout of 4500 ms, interval of 1500 ms. > 2014-02-10 20:55:52,066 WARN [RS:0;dalarolap:33703] regionserver.HRegionServer: error telling master we are up > com.google.protobuf.ServiceException: java.lang.NoClassDefFoundError: org/apache/hadoop/net/SocketInputWrapper > at org.apache.hadoop.hbase.ipc.RpcClient.callBlockingMethod(RpcClient.java:1670) > at org.apache.hadoop.hbase.ipc.RpcClient$BlockingRpcChannelImplementation.callBlockingMethod(RpcClient.java:1711) > at org.apache.hadoop.hbase.protobuf.generated.RegionServerStatusProtos$RegionServerStatusService$BlockingStub.regionServerStartup(RegionServerStatusProtos.java:5402) > at org.apache.hadoop.hbase.regionserver.HRegionServer.reportForDuty(HRegionServer.java:1926) > at org.apache.hadoop.hbase.regionserver.HRegionServer.run(HRegionServer.java:784) > at java.lang.Thread.run(Thread.java:744) > Caused by: java.lang.NoClassDefFoundError: org/apache/hadoop/net/SocketInputWrapper > at org.apache.hadoop.hbase.ipc.RpcClient.createConnection(RpcClient.java:348) > at org.apache.hadoop.hbase.ipc.RpcClient.getConnection(RpcClient.java:1522) > at org.apache.hadoop.hbase.ipc.RpcClient.call(RpcClient.java:1424) > at org.apache.hadoop.hbase.ipc.RpcClient.callBlockingMethod(RpcClient.java:1653) > ... 5 more > Caused by: java.lang.ClassNotFoundException: org.apache.hadoop.net.SocketInputWrapper > at java.net.URLClassLoader$1.run(URLClassLoader.java:366) > at java.net.URLClassLoader$1.run(URLClassLoader.java:355) > at java.security.AccessController.doPrivileged(Native Method) > at java.net.URLClassLoader.findClass(URLClassLoader.java:354) > at java.lang.ClassLoader.loadClass(ClassLoader.java:425) > at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308) > at java.lang.ClassLoader.loadClass(ClassLoader.java:358) > ... 9 more > {noformat} > I first stumbled over this while developing an app managed by Maven that depends on hbase-client, but then reproduced it by extracting the hadoop1 tarball and replacing the client jar with the same-named one from Maven Central. > I think this is not the same as HBASE-7269, although the stacktrace is similar. > Here's a disassembler grep on the Maven Central copy showing some references: > {noformat} > # From the root of an extracted hbase-client-0.96.1.1-hadoop1 jar downloaded from Maven Central > client-maven$ javap -verbose 'org/apache/hadoop/hbase/ipc/RpcClient$Connection.class' | grep SocketInputWrapper > #198 = Methodref #744.#818 // org/apache/hadoop/net/NetUtils.getInputStream:(Ljava/net/Socket;)Lorg/apache/hadoop/net/SocketInputWrapper; > #818 = NameAndType #1115:#1159 // getInputStream:(Ljava/net/Socket;)Lorg/apache/hadoop/net/SocketInputWrapper; > #1159 = Utf8 (Ljava/net/Socket;)Lorg/apache/hadoop/net/SocketInputWrapper; > 180: invokestatic #198 // Method org/apache/hadoop/net/NetUtils.getInputStream:(Ljava/net/Socket;)Lorg/apache/hadoop/net/SocketInputWrapper; > {noformat} > Here's the same grep on the tarball's copy. No references. > {noformat} > # Same as above, but using jar from the download tarball for hadoop1 > client-tarball$ javap -verbose 'org/apache/hadoop/hbase/ipc/RpcClient$Connection.class' | grep SocketInputWrapper > client-tarball$ > {noformat} > What do you think? -- This message was sent by Atlassian JIRA (v6.1.5#6160)