You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@sqoop.apache.org by "Jarek Jarcec Cecho (JIRA)" <ji...@apache.org> on 2015/07/29 22:06:04 UTC

[jira] [Commented] (SQOOP-2439) Sqoop2: NullPointerException when calling job status notification URL

    [ https://issues.apache.org/jira/browse/SQOOP-2439?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14646677#comment-14646677 ] 

Jarek Jarcec Cecho commented on SQOOP-2439:
-------------------------------------------

I found the problem. The notification URL is called as it is (like if you would do {{wget}} on the URL). We're however [expecting|https://github.com/apache/sqoop/blob/sqoop2/server/src/main/java/org/apache/sqoop/server/RequestContext.java#L127] that the username will be always present in the {{USER_NAME}} parameter. At this point I feel that we have two options:

1) Make entire codebase aware that the username can be non-existent
2) Define a default username like Hadoop's "dr.who" or something

[~abec] and [~richard_zhou], would love to hear your opinion on this one.

> Sqoop2: NullPointerException when calling job status notification URL
> ---------------------------------------------------------------------
>
>                 Key: SQOOP-2439
>                 URL: https://issues.apache.org/jira/browse/SQOOP-2439
>             Project: Sqoop
>          Issue Type: Bug
>            Reporter: Jarek Jarcec Cecho
>             Fix For: 1.99.7
>
>
> While working on SQOOP-2244, I've noticed {{NullPointerException}} in the code unrelated to my changes:
> {code}
> 2015-07-28 18:48:48,264 ERROR server.SqoopProtocolServlet [org.apache.sqoop.server.SqoopProtocolServlet.doGet(SqoopProtocolServlet.java:53)] Exception in GET http://localhost:56826/sqoop//v1/job/status/notification/1
> java.lang.NullPointerException
>  at org.apache.sqoop.security.authorization.AuthorizationEngine.checkPrivilege(AuthorizationEngine.java:185)
>  at org.apache.sqoop.security.authorization.AuthorizationEngine.readJob(AuthorizationEngine.java:99)
>  at org.apache.sqoop.handler.JobRequestHandler.getJobs(JobRequestHandler.java:312)
>  at org.apache.sqoop.handler.JobRequestHandler.handleEvent(JobRequestHandler.java:104)
>  at org.apache.sqoop.server.v1.JobServlet.handleGetRequest(JobServlet.java:86)
>  at org.apache.sqoop.server.SqoopProtocolServlet.doGet(SqoopProtocolServlet.java:48)
>  at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
>  at javax.servlet.http.HttpServlet.service(HttpServlet.java:723)
>  at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
>  at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
>  at org.apache.hadoop.security.authentication.server.AuthenticationFilter.doFilter(AuthenticationFilter.java:572)
>  at org.apache.hadoop.security.token.delegation.web.DelegationTokenAuthenticationFilter.doFilter(DelegationTokenAuthenticationFilter.java:269
>  at org.apache.hadoop.security.authentication.server.AuthenticationFilter.doFilter(AuthenticationFilter.java:542)
>  at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
>  at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
>  at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
>  at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
>  at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
>  at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
>  at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:615)
>  at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
>  at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
>  at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:861)
>  at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:606)
>  at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
>  at java.lang.Thread.run(Thread.java:745)
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)