[ 
https://issues.apache.org/jira/browse/HBASE-9913?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

刘泓 updated HBASE-9913:
----------------------

    Description: 
java.lang.NullPointerException
        at java.io.File.<init>(File.java:222)
        at java.util.zip.ZipFile.<init>(ZipFile.java:75)
        at 
org.apache.hadoop.hbase.mapreduce.TableMapReduceUtil.updateMap(TableMapReduceUtil.java:617)
        at 
org.apache.hadoop.hbase.mapreduce.TableMapReduceUtil.findOrCreateJar(TableMapReduceUtil.java:597)
        at 
org.apache.hadoop.hbase.mapreduce.TableMapReduceUtil.addDependencyJars(TableMapReduceUtil.java:557)
        at 
org.apache.hadoop.hbase.mapreduce.TableMapReduceUtil.addDependencyJars(TableMapReduceUtil.java:518)
        at 
org.apache.hadoop.hbase.mapreduce.TableMapReduceUtil.initTableMapperJob(TableMapReduceUtil.java:144)
        at 
org.apache.hadoop.hbase.mapreduce.TableMapReduceUtil.initTableMapperJob(TableMapReduceUtil.java:221)
        at 
org.apache.hadoop.hbase.mapreduce.TableMapReduceUtil.initTableMapperJob(TableMapReduceUtil.java:87)
        at 
com.easymap.ezserver6.map.source.hbase.convert.HBaseMapMerge.beginMerge(HBaseMapMerge.java:163)
        at 
com.easymap.ezserver6.app.servlet.EzMapToHbaseService.doPost(EzMapToHbaseService.java:32)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
        at 
weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
        at 
weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
        at 
weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:292)
        at 
weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:175)
        at 
weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3594)
        at 
weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
        at 
weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121)
        at 
weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2202)
        at 
weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2108)
        at 
weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1432)
        at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
        at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)

> 

my project deploy under weblogic11,and when i run hbase mapreduce,it throws a 
NullPointerException.i found the method TableMapReduceUtil.findContainingJar() 
returns null,so i debug it, url.getProtocol() return "zip",but the file is a 
jar file,so the if condition:
 if ("jar".equals(url.getProtocol()))  cann't run. so i add a if condition to 
judge "zip" type


  was:
java.lang.NullPointerException
        at java.io.File.<init>(File.java:222)
        at java.util.zip.ZipFile.<init>(ZipFile.java:75)
        at 
org.apache.hadoop.hbase.mapreduce.TableMapReduceUtil.updateMap(TableMapReduceUtil.java:617)
        at 
org.apache.hadoop.hbase.mapreduce.TableMapReduceUtil.findOrCreateJar(TableMapReduceUtil.java:597)
        at 
org.apache.hadoop.hbase.mapreduce.TableMapReduceUtil.addDependencyJars(TableMapReduceUtil.java:557)
        at 
org.apache.hadoop.hbase.mapreduce.TableMapReduceUtil.addDependencyJars(TableMapReduceUtil.java:518)
        at 
org.apache.hadoop.hbase.mapreduce.TableMapReduceUtil.initTableMapperJob(TableMapReduceUtil.java:144)
        at 
org.apache.hadoop.hbase.mapreduce.TableMapReduceUtil.initTableMapperJob(TableMapReduceUtil.java:221)
        at 
org.apache.hadoop.hbase.mapreduce.TableMapReduceUtil.initTableMapperJob(TableMapReduceUtil.java:87)
        at 
com.easymap.ezserver6.map.source.hbase.convert.HBaseMapMerge.beginMerge(HBaseMapMerge.java:163)
        at 
com.easymap.ezserver6.app.servlet.EzMapToHbaseService.doPost(EzMapToHbaseService.java:32)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
        at 
weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
        at 
weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
        at 
weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:292)
        at 
weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:175)
        at 
weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3594)
        at 
weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
        at 
weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121)
        at 
weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2202)
        at 
weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2108)
        at 
weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1432)
        at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
        at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)

> 

by respective  the hbase source code under weblogic,we found 
TableMapReduceUtil.findOrCreateJar returned string is null.because under tomcat 
,jar file's protocol is jar type, but under weblogic ,jar file's protocol is 
zip type,and the findOrCreateJar method cann't resolve zip type, so we should 
join zip type judgement


> weblogic deployment project implementation under the mapreduce hbase reported 
> a NullPointerException
> ----------------------------------------------------------------------------------------------------
>
>                 Key: HBASE-9913
>                 URL: https://issues.apache.org/jira/browse/HBASE-9913
>             Project: HBase
>          Issue Type: Bug
>          Components: hadoop2, mapreduce
>    Affects Versions: 0.94.10
>         Environment: weblogic windows
>            Reporter: 刘泓
>         Attachments: TableMapReduceUtil.class, TableMapReduceUtil.java
>
>
> java.lang.NullPointerException
>       at java.io.File.<init>(File.java:222)
>       at java.util.zip.ZipFile.<init>(ZipFile.java:75)
>       at 
> org.apache.hadoop.hbase.mapreduce.TableMapReduceUtil.updateMap(TableMapReduceUtil.java:617)
>       at 
> org.apache.hadoop.hbase.mapreduce.TableMapReduceUtil.findOrCreateJar(TableMapReduceUtil.java:597)
>       at 
> org.apache.hadoop.hbase.mapreduce.TableMapReduceUtil.addDependencyJars(TableMapReduceUtil.java:557)
>       at 
> org.apache.hadoop.hbase.mapreduce.TableMapReduceUtil.addDependencyJars(TableMapReduceUtil.java:518)
>       at 
> org.apache.hadoop.hbase.mapreduce.TableMapReduceUtil.initTableMapperJob(TableMapReduceUtil.java:144)
>       at 
> org.apache.hadoop.hbase.mapreduce.TableMapReduceUtil.initTableMapperJob(TableMapReduceUtil.java:221)
>       at 
> org.apache.hadoop.hbase.mapreduce.TableMapReduceUtil.initTableMapperJob(TableMapReduceUtil.java:87)
>       at 
> com.easymap.ezserver6.map.source.hbase.convert.HBaseMapMerge.beginMerge(HBaseMapMerge.java:163)
>       at 
> com.easymap.ezserver6.app.servlet.EzMapToHbaseService.doPost(EzMapToHbaseService.java:32)
>       at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
>       at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
>       at 
> weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
>       at 
> weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
>       at 
> weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:292)
>       at 
> weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:175)
>       at 
> weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3594)
>       at 
> weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
>       at 
> weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121)
>       at 
> weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2202)
>       at 
> weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2108)
>       at 
> weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1432)
>       at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
>       at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
> > 
> my project deploy under weblogic11,and when i run hbase mapreduce,it throws a 
> NullPointerException.i found the method 
> TableMapReduceUtil.findContainingJar() returns null,so i debug it, 
> url.getProtocol() return "zip",but the file is a jar file,so the if condition:
>  if ("jar".equals(url.getProtocol()))  cann't run. so i add a if condition to 
> judge "zip" type



--
This message was sent by Atlassian JIRA
(v6.1#6144)

Reply via email to