Hi Ben - Thanks for reporting this difficulty - I will need to review the docs and instructions and get back to you. I am copying Josh on this thread just in case he isn't subscribed - he contributed the service definition for avatica.
Just to make sure... you have a build from master or 0.11.0 release deployed in azure that you are trying - right? thanks, --larry On Wed, Feb 15, 2017 at 9:54 AM, Jovanic, Ben <[email protected]> wrote: > Hi, > > I work for CGI and have been looking at Knox recently for a project. I've > been working with John McParland who has contributed to Knox with Solr > support. > > I'm currently trying to get Knox and Avatica working together. I've > followed the instructions on this JIRA ticket (https://issues.apache.org/ > jira/browse/KNOX-844) but I've encountered an error. > > When doing the following: > > ``` > $ curl -k -u guest:guest-password -X GET "https://cloudapp.azure.com: > 8443/gateway/sandbox/avatica/" > <HTML> > <HEAD> > <TITLE>Error 404 - Not Found</TITLE> > <BODY> > <H2>Error 404 - Not Found.</H2> > No context on this server matched or handled this request.<BR>Contexts > known to this server are: <ul></ul><hr><a href="http://eclipse.org/jetty"><img > border= 0 src="/favicon.ico"/></a> <a > href="http://eclipse.org/jetty">Powered > by Jetty:// Java Web Server</a><hr/> > > </BODY> > </HTML> > ``` > > The 404 makes sense since navigating to http://cloudapp.azure.com:8765/ > shows the same 404 message. > > And looking in the Knox gateway.log file we see Knox has authenticated > fine: > > ``` > 2017-02-15 11:20:02,681 INFO hadoop.gateway > (KnoxLdapRealm.java:getUserDn(691)) > - Computed userDn: uid=guest,ou=people,dc=hadoop,dc=apache,dc=org using > dnTemplate for principal: guest > ``` > > However, when using the Avatica parameters with those semicolons it falls > over: > > ``` > $ curl -k -u guest:guest-password -X GET "https://cloudapp.azure.com: > 8443/gateway/sandbox/avatica/;avatica_user=guest;avatica_ > password=guest-password;authentication=BASIC" > <html> > <head> > <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> > <title>Error 500 Server Error</title> > </head> > <body><h2>HTTP ERROR 500</h2> > <p>Problem accessing /gateway/sandbox/avatica/;avatica_user=guest;avatica_ > password=guest-password;authentication=BASIC. Reason: > <pre> Server Error</pre></p><hr><i><small>Powered by > Jetty://</small></i><hr/> > > </body> > </html> > ``` > > And the gateway.log now: > > ``` > 2017-02-15 11:32:32,281 INFO hadoop.gateway > (KnoxLdapRealm.java:getUserDn(691)) > - Computed userDn: uid=guest,ou=people,dc=hadoop,dc=apache,dc=org using > dnTemplate for principal: guest > 2017-02-15 11:32:32,291 ERROR hadoop.gateway > (UrlRewriteProcessor.java:rewrite(169)) > - Failed to rewrite URL: https://cloudapp.azure.com: > 8443/gateway/sandbox/avatica/;avatica_user=username;avatica_ > password=password;authentication=BASIC, direction: IN via rule: > AVATICA/avatica/inbound/root, status: FAILURE > 2017-02-15 11:32:32,292 ERROR hadoop.gateway > (UrlRewriteProcessor.java:rewrite(169)) > - Failed to rewrite URL: https://cloudapp.azure.com: > 8443/gateway/sandbox/avatica/;avatica_user=username;avatica_ > password=password;authentication=BASIC, direction: IN via rule: > AVATICA/avatica/inbound/root, status: FAILURE > 2017-02-15 11:32:32,311 WARN hadoop.gateway > (DefaultDispatch.java:executeOutboundRequest(146)) > - Connection exception dispatching request: org.apache.http.client. > ClientProtocolException > org.apache.http.client.ClientProtocolException > at org.apache.http.impl.client.InternalHttpClient.doExecute( > InternalHttpClient.java:186) > at org.apache.http.impl.client.CloseableHttpClient.execute( > CloseableHttpClient.java:82) > at org.apache.http.impl.client.CloseableHttpClient.execute( > CloseableHttpClient.java:107) > at org.apache.http.impl.client.CloseableHttpClient.execute( > CloseableHttpClient.java:55) > at org.apache.hadoop.gateway.dispatch.DefaultDispatch. > executeOutboundRequest(DefaultDispatch.java:129) > at org.apache.hadoop.gateway.dispatch.DefaultDispatch.executeRequest( > DefaultDispatch.java:115) > at org.apache.hadoop.gateway.dispatch.DefaultDispatch. > doGet(DefaultDispatch.java:277) > at org.apache.hadoop.gateway.dispatch.GatewayDispatchFilter$ > GetAdapter.doMethod(GatewayDispatchFilter.java:123) > at org.apache.hadoop.gateway.dispatch.GatewayDispatchFilter.doFilter( > GatewayDispatchFilter.java:106) > at org.apache.hadoop.gateway.filter.AbstractGatewayFilter.doFilter( > AbstractGatewayFilter.java:61) > at org.apache.hadoop.gateway.GatewayFilter$Holder.doFilter( > GatewayFilter.java:332) > at org.apache.hadoop.gateway.GatewayFilter$Chain.doFilter( > GatewayFilter.java:232) > at org.apache.hadoop.gateway.filter.rewrite.api. > UrlRewriteServletFilter.doFilter(UrlRewriteServletFilter.java:60) > at org.apache.hadoop.gateway.filter.AbstractGatewayFilter.doFilter( > AbstractGatewayFilter.java:61) > at org.apache.hadoop.gateway.GatewayFilter$Holder.doFilter( > GatewayFilter.java:332) > at org.apache.hadoop.gateway.GatewayFilter$Chain.doFilter( > GatewayFilter.java:232) > at org.apache.hadoop.gateway.filter.ShiroSubjectIdentityAdapter$ > CallableChain$1.run(ShiroSubjectIdentityAdapter.java:91) > at org.apache.hadoop.gateway.filter.ShiroSubjectIdentityAdapter$ > CallableChain$1.run(ShiroSubjectIdentityAdapter.java:88) > at java.security.AccessController.doPrivileged(Native Method) > at javax.security.auth.Subject.doAs(Subject.java:415) > at org.apache.hadoop.gateway.filter.ShiroSubjectIdentityAdapter$ > CallableChain.call(ShiroSubjectIdentityAdapter.java:138) > at org.apache.hadoop.gateway.filter.ShiroSubjectIdentityAdapter$ > CallableChain.call(ShiroSubjectIdentityAdapter.java:75) > at org.apache.shiro.subject.support.SubjectCallable. > doCall(SubjectCallable.java:90) > at org.apache.shiro.subject.support.SubjectCallable.call( > SubjectCallable.java:83) > at org.apache.shiro.subject.support.DelegatingSubject. > execute(DelegatingSubject.java:383) > at org.apache.hadoop.gateway.filter.ShiroSubjectIdentityAdapter. > doFilter(ShiroSubjectIdentityAdapter.java:72) > at org.apache.hadoop.gateway.GatewayFilter$Holder.doFilter( > GatewayFilter.java:332) > at org.apache.hadoop.gateway.GatewayFilter$Chain.doFilter( > GatewayFilter.java:232) > at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter( > ProxiedFilterChain.java:61) > at org.apache.shiro.web.servlet.AdviceFilter.executeChain( > AdviceFilter.java:108) > at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal( > AdviceFilter.java:137) > at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter( > OncePerRequestFilter.java:125) > at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter( > ProxiedFilterChain.java:66) > at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain( > AbstractShiroFilter.java:449) > at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call( > AbstractShiroFilter.java:365) > at org.apache.shiro.subject.support.SubjectCallable. > doCall(SubjectCallable.java:90) > at org.apache.shiro.subject.support.SubjectCallable.call( > SubjectCallable.java:83) > at org.apache.shiro.subject.support.DelegatingSubject. > execute(DelegatingSubject.java:383) > at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal( > AbstractShiroFilter.java:362) > at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter( > OncePerRequestFilter.java:125) > at org.apache.hadoop.gateway.GatewayFilter$Holder.doFilter( > GatewayFilter.java:332) > at org.apache.hadoop.gateway.GatewayFilter$Chain.doFilter( > GatewayFilter.java:232) > at org.apache.hadoop.gateway.filter.ResponseCookieFilter. > doFilter(ResponseCookieFilter.java:50) > at org.apache.hadoop.gateway.filter.AbstractGatewayFilter.doFilter( > AbstractGatewayFilter.java:61) > at org.apache.hadoop.gateway.GatewayFilter$Holder.doFilter( > GatewayFilter.java:332) > at org.apache.hadoop.gateway.GatewayFilter$Chain.doFilter( > GatewayFilter.java:232) > at org.apache.hadoop.gateway.filter.XForwardedHeaderFilter.doFilter( > XForwardedHeaderFilter.java:30) > at org.apache.hadoop.gateway.filter.AbstractGatewayFilter.doFilter( > AbstractGatewayFilter.java:61) > at org.apache.hadoop.gateway.GatewayFilter$Holder.doFilter( > GatewayFilter.java:332) > at org.apache.hadoop.gateway.GatewayFilter$Chain.doFilter( > GatewayFilter.java:232) > at org.apache.hadoop.gateway.GatewayFilter.doFilter( > GatewayFilter.java:139) > at org.apache.hadoop.gateway.GatewayFilter.doFilter( > GatewayFilter.java:91) > at org.apache.hadoop.gateway.services.metrics.impl.instr. > InstrumentedGatewayFilter.doFilter(InstrumentedGatewayFilter.java:70) > at org.apache.hadoop.gateway.GatewayServlet.service( > GatewayServlet.java:141) > at org.eclipse.jetty.servlet.ServletHolder.handle( > ServletHolder.java:812) > at org.eclipse.jetty.servlet.ServletHandler.doHandle( > ServletHandler.java:587) > at org.eclipse.jetty.server.handler.ScopedHandler.handle( > ScopedHandler.java:143) > at org.eclipse.jetty.security.SecurityHandler.handle( > SecurityHandler.java:577) > at org.eclipse.jetty.server.session.SessionHandler. > doHandle(SessionHandler.java:223) > at org.eclipse.jetty.server.handler.ContextHandler. > doHandle(ContextHandler.java:1127) > at org.eclipse.jetty.servlet.ServletHandler.doScope( > ServletHandler.java:515) > at org.eclipse.jetty.server.session.SessionHandler. > doScope(SessionHandler.java:185) > at org.eclipse.jetty.server.handler.ContextHandler. > doScope(ContextHandler.java:1061) > at org.eclipse.jetty.server.handler.ScopedHandler.handle( > ScopedHandler.java:141) > at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle( > ContextHandlerCollection.java:215) > at org.eclipse.jetty.server.handler.HandlerWrapper.handle( > HandlerWrapper.java:97) > at org.apache.hadoop.gateway.trace.TraceHandler.handle( > TraceHandler.java:51) > at org.eclipse.jetty.server.handler.HandlerWrapper.handle( > HandlerWrapper.java:97) > at org.apache.hadoop.gateway.filter.CorrelationHandler. > handle(CorrelationHandler.java:39) > at org.eclipse.jetty.servlets.gzip.GzipHandler.handle( > GzipHandler.java:529) > at org.eclipse.jetty.server.handler.HandlerCollection. > handle(HandlerCollection.java:110) > at org.eclipse.jetty.server.handler.HandlerWrapper.handle( > HandlerWrapper.java:97) > at org.eclipse.jetty.server.Server.handle(Server.java:499) > at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:311) > at org.eclipse.jetty.server.HttpConnection.onFillable( > HttpConnection.java:257) > at org.eclipse.jetty.io.AbstractConnection$2.run( > AbstractConnection.java:544) > at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob( > QueuedThreadPool.java:635) > at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run( > QueuedThreadPool.java:555) > at java.lang.Thread.run(Thread.java:745) > Caused by: org.apache.http.ProtocolException: Target host is not specified > at org.apache.http.impl.conn.DefaultRoutePlanner.determineRoute( > DefaultRoutePlanner.java:70) > at org.apache.http.impl.client.InternalHttpClient.determineRoute( > InternalHttpClient.java:124) > at org.apache.http.impl.client.InternalHttpClient.doExecute( > InternalHttpClient.java:183) > ... 78 more > 2017-02-15 11:32:32,312 ERROR hadoop.gateway > (AbstractGatewayFilter.java:doFilter(63)) > - Failed to execute filter: java.io.IOException: Service connectivity error. > 2017-02-15 11:32:32,313 ERROR hadoop.gateway > (AbstractGatewayFilter.java:doFilter(63)) > - Failed to execute filter: java.io.IOException: Service connectivity error. > 2017-02-15 11:32:32,320 ERROR hadoop.gateway > (AbstractGatewayFilter.java:doFilter(66)) > - Failed to execute filter: javax.servlet.ServletException: > org.apache.shiro.subject.ExecutionException: > java.security.PrivilegedActionException: > java.io.IOException: Service connectivity error. > 2017-02-15 11:32:32,322 ERROR hadoop.gateway > (AbstractGatewayFilter.java:doFilter(66)) > - Failed to execute filter: javax.servlet.ServletException: > org.apache.shiro.subject.ExecutionException: > java.security.PrivilegedActionException: > java.io.IOException: Service connectivity error. > 2017-02-15 11:32:32,322 ERROR hadoop.gateway > (GatewayFilter.java:doFilter(145)) > - Gateway processing failed: javax.servlet.ServletException: > org.apache.shiro.subject.ExecutionException: > java.security.PrivilegedActionException: > java.io.IOException: Service connectivity error. > javax.servlet.ServletException: org.apache.shiro.subject.ExecutionException: > java.security.PrivilegedActionException: java.io.IOException: Service > connectivity error. > at org.apache.shiro.web.servlet.AdviceFilter.cleanup( > AdviceFilter.java:196) > at org.apache.shiro.web.filter.authc.AuthenticatingFilter. > cleanup(AuthenticatingFilter.java:155) > at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal( > AdviceFilter.java:148) > at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter( > OncePerRequestFilter.java:125) > at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter( > ProxiedFilterChain.java:66) > at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain( > AbstractShiroFilter.java:449) > at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call( > AbstractShiroFilter.java:365) > at org.apache.shiro.subject.support.SubjectCallable. > doCall(SubjectCallable.java:90) > at org.apache.shiro.subject.support.SubjectCallable.call( > SubjectCallable.java:83) > at org.apache.shiro.subject.support.DelegatingSubject. > execute(DelegatingSubject.java:383) > at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal( > AbstractShiroFilter.java:362) > at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter( > OncePerRequestFilter.java:125) > at org.apache.hadoop.gateway.GatewayFilter$Holder.doFilter( > GatewayFilter.java:332) > at org.apache.hadoop.gateway.GatewayFilter$Chain.doFilter( > GatewayFilter.java:232) > at org.apache.hadoop.gateway.filter.ResponseCookieFilter. > doFilter(ResponseCookieFilter.java:50) > at org.apache.hadoop.gateway.filter.AbstractGatewayFilter.doFilter( > AbstractGatewayFilter.java:61) > at org.apache.hadoop.gateway.GatewayFilter$Holder.doFilter( > GatewayFilter.java:332) > at org.apache.hadoop.gateway.GatewayFilter$Chain.doFilter( > GatewayFilter.java:232) > at org.apache.hadoop.gateway.filter.XForwardedHeaderFilter.doFilter( > XForwardedHeaderFilter.java:30) > at org.apache.hadoop.gateway.filter.AbstractGatewayFilter.doFilter( > AbstractGatewayFilter.java:61) > at org.apache.hadoop.gateway.GatewayFilter$Holder.doFilter( > GatewayFilter.java:332) > at org.apache.hadoop.gateway.GatewayFilter$Chain.doFilter( > GatewayFilter.java:232) > at org.apache.hadoop.gateway.GatewayFilter.doFilter( > GatewayFilter.java:139) > at org.apache.hadoop.gateway.GatewayFilter.doFilter( > GatewayFilter.java:91) > at org.apache.hadoop.gateway.services.metrics.impl.instr. > InstrumentedGatewayFilter.doFilter(InstrumentedGatewayFilter.java:70) > at org.apache.hadoop.gateway.GatewayServlet.service( > GatewayServlet.java:141) > at org.eclipse.jetty.servlet.ServletHolder.handle( > ServletHolder.java:812) > at org.eclipse.jetty.servlet.ServletHandler.doHandle( > ServletHandler.java:587) > at org.eclipse.jetty.server.handler.ScopedHandler.handle( > ScopedHandler.java:143) > at org.eclipse.jetty.security.SecurityHandler.handle( > SecurityHandler.java:577) > at org.eclipse.jetty.server.session.SessionHandler. > doHandle(SessionHandler.java:223) > at org.eclipse.jetty.server.handler.ContextHandler. > doHandle(ContextHandler.java:1127) > at org.eclipse.jetty.servlet.ServletHandler.doScope( > ServletHandler.java:515) > at org.eclipse.jetty.server.session.SessionHandler. > doScope(SessionHandler.java:185) > at org.eclipse.jetty.server.handler.ContextHandler. > doScope(ContextHandler.java:1061) > at org.eclipse.jetty.server.handler.ScopedHandler.handle( > ScopedHandler.java:141) > at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle( > ContextHandlerCollection.java:215) > at org.eclipse.jetty.server.handler.HandlerWrapper.handle( > HandlerWrapper.java:97) > at org.apache.hadoop.gateway.trace.TraceHandler.handle( > TraceHandler.java:51) > at org.eclipse.jetty.server.handler.HandlerWrapper.handle( > HandlerWrapper.java:97) > at org.apache.hadoop.gateway.filter.CorrelationHandler. > handle(CorrelationHandler.java:39) > at org.eclipse.jetty.servlets.gzip.GzipHandler.handle( > GzipHandler.java:529) > at org.eclipse.jetty.server.handler.HandlerCollection. > handle(HandlerCollection.java:110) > at org.eclipse.jetty.server.handler.HandlerWrapper.handle( > HandlerWrapper.java:97) > at org.eclipse.jetty.server.Server.handle(Server.java:499) > at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:311) > at org.eclipse.jetty.server.HttpConnection.onFillable( > HttpConnection.java:257) > at org.eclipse.jetty.io.AbstractConnection$2.run( > AbstractConnection.java:544) > at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob( > QueuedThreadPool.java:635) > at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run( > QueuedThreadPool.java:555) > at java.lang.Thread.run(Thread.java:745) > Caused by: org.apache.shiro.subject.ExecutionException: > java.security.PrivilegedActionException: > java.io.IOException: Service connectivity error. > at org.apache.shiro.subject.support.DelegatingSubject. > execute(DelegatingSubject.java:385) > at org.apache.hadoop.gateway.filter.ShiroSubjectIdentityAdapter. > doFilter(ShiroSubjectIdentityAdapter.java:72) > at org.apache.hadoop.gateway.GatewayFilter$Holder.doFilter( > GatewayFilter.java:332) > at org.apache.hadoop.gateway.GatewayFilter$Chain.doFilter( > GatewayFilter.java:232) > at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter( > ProxiedFilterChain.java:61) > at org.apache.shiro.web.servlet.AdviceFilter.executeChain( > AdviceFilter.java:108) > at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal( > AdviceFilter.java:137) > ... 48 more > Caused by: java.security.PrivilegedActionException: java.io.IOException: > Service connectivity error. > at java.security.AccessController.doPrivileged(Native Method) > at javax.security.auth.Subject.doAs(Subject.java:415) > at org.apache.hadoop.gateway.filter.ShiroSubjectIdentityAdapter$ > CallableChain.call(ShiroSubjectIdentityAdapter.java:138) > at org.apache.hadoop.gateway.filter.ShiroSubjectIdentityAdapter$ > CallableChain.call(ShiroSubjectIdentityAdapter.java:75) > at org.apache.shiro.subject.support.SubjectCallable. > doCall(SubjectCallable.java:90) > at org.apache.shiro.subject.support.SubjectCallable.call( > SubjectCallable.java:83) > at org.apache.shiro.subject.support.DelegatingSubject. > execute(DelegatingSubject.java:383) > ... 54 more > Caused by: java.io.IOException: Service connectivity error. > at org.apache.hadoop.gateway.dispatch.DefaultDispatch. > executeOutboundRequest(DefaultDispatch.java:147) > at org.apache.hadoop.gateway.dispatch.DefaultDispatch.executeRequest( > DefaultDispatch.java:115) > at org.apache.hadoop.gateway.dispatch.DefaultDispatch. > doGet(DefaultDispatch.java:277) > at org.apache.hadoop.gateway.dispatch.GatewayDispatchFilter$ > GetAdapter.doMethod(GatewayDispatchFilter.java:123) > at org.apache.hadoop.gateway.dispatch.GatewayDispatchFilter.doFilter( > GatewayDispatchFilter.java:106) > at org.apache.hadoop.gateway.filter.AbstractGatewayFilter.doFilter( > AbstractGatewayFilter.java:61) > at org.apache.hadoop.gateway.GatewayFilter$Holder.doFilter( > GatewayFilter.java:332) > at org.apache.hadoop.gateway.GatewayFilter$Chain.doFilter( > GatewayFilter.java:232) > at org.apache.hadoop.gateway.filter.rewrite.api. > UrlRewriteServletFilter.doFilter(UrlRewriteServletFilter.java:60) > at org.apache.hadoop.gateway.filter.AbstractGatewayFilter.doFilter( > AbstractGatewayFilter.java:61) > at org.apache.hadoop.gateway.GatewayFilter$Holder.doFilter( > GatewayFilter.java:332) > at org.apache.hadoop.gateway.GatewayFilter$Chain.doFilter( > GatewayFilter.java:232) > at org.apache.hadoop.gateway.filter.ShiroSubjectIdentityAdapter$ > CallableChain$1.run(ShiroSubjectIdentityAdapter.java:91) > at org.apache.hadoop.gateway.filter.ShiroSubjectIdentityAdapter$ > CallableChain$1.run(ShiroSubjectIdentityAdapter.java:88) > ... 61 more > 2017-02-15 11:32:32,339 ERROR hadoop.gateway > (GatewayServlet.java:service(146)) > - Gateway processing failed: javax.servlet.ServletException: > org.apache.shiro.subject.ExecutionException: > java.security.PrivilegedActionException: > java.io.IOException: Service connectivity error. > javax.servlet.ServletException: org.apache.shiro.subject.ExecutionException: > java.security.PrivilegedActionException: java.io.IOException: Service > connectivity error. > at org.apache.shiro.web.servlet.AdviceFilter.cleanup( > AdviceFilter.java:196) > at org.apache.shiro.web.filter.authc.AuthenticatingFilter. > cleanup(AuthenticatingFilter.java:155) > at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal( > AdviceFilter.java:148) > at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter( > OncePerRequestFilter.java:125) > at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter( > ProxiedFilterChain.java:66) > at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain( > AbstractShiroFilter.java:449) > at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call( > AbstractShiroFilter.java:365) > at org.apache.shiro.subject.support.SubjectCallable. > doCall(SubjectCallable.java:90) > at org.apache.shiro.subject.support.SubjectCallable.call( > SubjectCallable.java:83) > at org.apache.shiro.subject.support.DelegatingSubject. > execute(DelegatingSubject.java:383) > at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal( > AbstractShiroFilter.java:362) > at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter( > OncePerRequestFilter.java:125) > at org.apache.hadoop.gateway.GatewayFilter$Holder.doFilter( > GatewayFilter.java:332) > at org.apache.hadoop.gateway.GatewayFilter$Chain.doFilter( > GatewayFilter.java:232) > at org.apache.hadoop.gateway.filter.ResponseCookieFilter. > doFilter(ResponseCookieFilter.java:50) > at org.apache.hadoop.gateway.filter.AbstractGatewayFilter.doFilter( > AbstractGatewayFilter.java:61) > at org.apache.hadoop.gateway.GatewayFilter$Holder.doFilter( > GatewayFilter.java:332) > at org.apache.hadoop.gateway.GatewayFilter$Chain.doFilter( > GatewayFilter.java:232) > at org.apache.hadoop.gateway.filter.XForwardedHeaderFilter.doFilter( > XForwardedHeaderFilter.java:30) > at org.apache.hadoop.gateway.filter.AbstractGatewayFilter.doFilter( > AbstractGatewayFilter.java:61) > at org.apache.hadoop.gateway.GatewayFilter$Holder.doFilter( > GatewayFilter.java:332) > at org.apache.hadoop.gateway.GatewayFilter$Chain.doFilter( > GatewayFilter.java:232) > at org.apache.hadoop.gateway.GatewayFilter.doFilter( > GatewayFilter.java:139) > at org.apache.hadoop.gateway.GatewayFilter.doFilter( > GatewayFilter.java:91) > at org.apache.hadoop.gateway.services.metrics.impl.instr. > InstrumentedGatewayFilter.doFilter(InstrumentedGatewayFilter.java:70) > at org.apache.hadoop.gateway.GatewayServlet.service( > GatewayServlet.java:141) > at org.eclipse.jetty.servlet.ServletHolder.handle( > ServletHolder.java:812) > at org.eclipse.jetty.servlet.ServletHandler.doHandle( > ServletHandler.java:587) > at org.eclipse.jetty.server.handler.ScopedHandler.handle( > ScopedHandler.java:143) > at org.eclipse.jetty.security.SecurityHandler.handle( > SecurityHandler.java:577) > at org.eclipse.jetty.server.session.SessionHandler. > doHandle(SessionHandler.java:223) > at org.eclipse.jetty.server.handler.ContextHandler. > doHandle(ContextHandler.java:1127) > at org.eclipse.jetty.servlet.ServletHandler.doScope( > ServletHandler.java:515) > at org.eclipse.jetty.server.session.SessionHandler. > doScope(SessionHandler.java:185) > at org.eclipse.jetty.server.handler.ContextHandler. > doScope(ContextHandler.java:1061) > at org.eclipse.jetty.server.handler.ScopedHandler.handle( > ScopedHandler.java:141) > at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle( > ContextHandlerCollection.java:215) > at org.eclipse.jetty.server.handler.HandlerWrapper.handle( > HandlerWrapper.java:97) > at org.apache.hadoop.gateway.trace.TraceHandler.handle( > TraceHandler.java:51) > at org.eclipse.jetty.server.handler.HandlerWrapper.handle( > HandlerWrapper.java:97) > at org.apache.hadoop.gateway.filter.CorrelationHandler. > handle(CorrelationHandler.java:39) > at org.eclipse.jetty.servlets.gzip.GzipHandler.handle( > GzipHandler.java:529) > at org.eclipse.jetty.server.handler.HandlerCollection. > handle(HandlerCollection.java:110) > at org.eclipse.jetty.server.handler.HandlerWrapper.handle( > HandlerWrapper.java:97) > at org.eclipse.jetty.server.Server.handle(Server.java:499) > at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:311) > at org.eclipse.jetty.server.HttpConnection.onFillable( > HttpConnection.java:257) > at org.eclipse.jetty.io.AbstractConnection$2.run( > AbstractConnection.java:544) > at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob( > QueuedThreadPool.java:635) > at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run( > QueuedThreadPool.java:555) > at java.lang.Thread.run(Thread.java:745) > Caused by: org.apache.shiro.subject.ExecutionException: > java.security.PrivilegedActionException: > java.io.IOException: Service connectivity error. > at org.apache.shiro.subject.support.DelegatingSubject. > execute(DelegatingSubject.java:385) > at org.apache.hadoop.gateway.filter.ShiroSubjectIdentityAdapter. > doFilter(ShiroSubjectIdentityAdapter.java:72) > at org.apache.hadoop.gateway.GatewayFilter$Holder.doFilter( > GatewayFilter.java:332) > at org.apache.hadoop.gateway.GatewayFilter$Chain.doFilter( > GatewayFilter.java:232) > at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter( > ProxiedFilterChain.java:61) > at org.apache.shiro.web.servlet.AdviceFilter.executeChain( > AdviceFilter.java:108) > at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal( > AdviceFilter.java:137) > ... 48 more > Caused by: java.security.PrivilegedActionException: java.io.IOException: > Service connectivity error. > at java.security.AccessController.doPrivileged(Native Method) > at javax.security.auth.Subject.doAs(Subject.java:415) > at org.apache.hadoop.gateway.filter.ShiroSubjectIdentityAdapter$ > CallableChain.call(ShiroSubjectIdentityAdapter.java:138) > at org.apache.hadoop.gateway.filter.ShiroSubjectIdentityAdapter$ > CallableChain.call(ShiroSubjectIdentityAdapter.java:75) > at org.apache.shiro.subject.support.SubjectCallable. > doCall(SubjectCallable.java:90) > at org.apache.shiro.subject.support.SubjectCallable.call( > SubjectCallable.java:83) > at org.apache.shiro.subject.support.DelegatingSubject. > execute(DelegatingSubject.java:383) > ... 54 more > Caused by: java.io.IOException: Service connectivity error. > at org.apache.hadoop.gateway.dispatch.DefaultDispatch. > executeOutboundRequest(DefaultDispatch.java:147) > at org.apache.hadoop.gateway.dispatch.DefaultDispatch.executeRequest( > DefaultDispatch.java:115) > at org.apache.hadoop.gateway.dispatch.DefaultDispatch. > doGet(DefaultDispatch.java:277) > at org.apache.hadoop.gateway.dispatch.GatewayDispatchFilter$ > GetAdapter.doMethod(GatewayDispatchFilter.java:123) > at org.apache.hadoop.gateway.dispatch.GatewayDispatchFilter.doFilter( > GatewayDispatchFilter.java:106) > at org.apache.hadoop.gateway.filter.AbstractGatewayFilter.doFilter( > AbstractGatewayFilter.java:61) > at org.apache.hadoop.gateway.GatewayFilter$Holder.doFilter( > GatewayFilter.java:332) > at org.apache.hadoop.gateway.GatewayFilter$Chain.doFilter( > GatewayFilter.java:232) > at org.apache.hadoop.gateway.filter.rewrite.api. > UrlRewriteServletFilter.doFilter(UrlRewriteServletFilter.java:60) > at org.apache.hadoop.gateway.filter.AbstractGatewayFilter.doFilter( > AbstractGatewayFilter.java:61) > at org.apache.hadoop.gateway.GatewayFilter$Holder.doFilter( > GatewayFilter.java:332) > at org.apache.hadoop.gateway.GatewayFilter$Chain.doFilter( > GatewayFilter.java:232) > at org.apache.hadoop.gateway.filter.ShiroSubjectIdentityAdapter$ > CallableChain$1.run(ShiroSubjectIdentityAdapter.java:91) > at org.apache.hadoop.gateway.filter.ShiroSubjectIdentityAdapter$ > CallableChain$1.run(ShiroSubjectIdentityAdapter.java:88) > ... 61 more > ``` > > I believe the important part is: > > ``` > 2017-02-15 11:40:18,461 ERROR hadoop.gateway > (UrlRewriteProcessor.java:rewrite(169)) > - Failed to rewrite URL: https://hdp24sandbox-v2. > ukwest.cloudapp.azure.com:8443/gateway/sandbox/avatica; > avatica_user=username;avatica_password=password;authentication=BASIC, > direction: IN via rule: AVATICA/avatica/inbound/root, status: FAILURE > ``` > > Which reveals that the URL is not matching the route properly. > > I've modified the rewrite.xml file for Avatica in several different ways > but I cannot get Knox to accept semicolons in the URL. > Any help would be appreciated. > > Kind regards, > Ben Jovanic >
