You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@nifi.apache.org by "Pierre Villard (JIRA)" <ji...@apache.org> on 2018/01/24 21:00:00 UTC

[jira] [Comment Edited] (MINIFI-431) C2 - Exception while agent tries to pull the config

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

Pierre Villard edited comment on MINIFI-431 at 1/24/18 8:59 PM:
----------------------------------------------------------------

Here are the notable differences I see between the two versions in ./lib directory (jars that are unique to the version):
|*0.3.0 version*|*0.4.0 version*|
|h2-1.3.176.jar|aopalliance-repackaged-2.5.0-b42.jar|
|jackson-core-asl-1.9.13.jar|hk2-api-2.5.0-b42.jar|
|jackson-jaxrs-1.9.2.jar|hk2-locator-2.5.0-b42.jar|
|jackson-mapper-asl-1.9.13.jar|hk2-utils-2.5.0-b42.jar|
|jackson-xc-1.9.2.jar|jackson-module-jaxb-annotations-2.9.1.jar|
|jaxb-api-2.2.2.jar|javassist-3.22.0-CR2.jar|
|jaxb-impl-2.2.3-1.jar|javax.annotation-api-1.2.jar|
|jersey-client-1.19.jar|javax.inject-1.jar|
|jersey-json-1.19.jar|javax.inject-2.5.0-b42.jar|
|jettison-1.1.jar|javax.ws.rs-api-2.1.jar|
|stax-api-1.0-2.jar|jersey-client-2.26.jar|
|swagger-annotations-1.5.3-M1.jar|jersey-common-2.26.jar|
| |jersey-entity-filtering-2.26.jar|
| |jersey-hk2-2.26.jar|
| |jersey-media-json-jackson-2.26.jar|
| |swagger-annotations-1.5.16.jar|
| |validation-api-2.0.0.Final.jar|

By removing the file javax.ws.rs-api-2.1.jar from lib directory in 0.4.0 version, it works as expected.


was (Author: pvillard):
I believe problem comes from here:
{noformat}
[INFO] |  +- org.apache.nifi.registry:nifi-registry-client:jar:0.1.0:compile
[INFO] |  |  +- org.apache.nifi.registry:nifi-registry-security-utils:jar:0.1.0:compile
[INFO] |  |  +- org.glassfish.jersey.media:jersey-media-json-jackson:jar:2.26:compile
[INFO] |  |  |  \- org.glassfish.jersey.ext:jersey-entity-filtering:jar:2.26:compile
[INFO] |  |  \- org.glassfish.jersey.inject:jersey-hk2:jar:2.26:compile
[INFO] |  |     \- org.glassfish.hk2:hk2-locator:jar:2.5.0-b42:compile
[INFO] |  |        +- org.glassfish.hk2.external:aopalliance-repackaged:jar:2.5.0-b42:compile
[INFO] |  |        +- org.glassfish.hk2:hk2-api:jar:2.5.0-b42:compile
[INFO] |  |        |  \- javax.inject:javax.inject:jar:1:compile
[INFO] |  |        +- org.glassfish.hk2:hk2-utils:jar:2.5.0-b42:compile
[INFO] |  |        \- org.javassist:javassist:jar:3.22.0-CR2:compile{noformat}
Here are the notable differences I see between the two versions in ./lib directory (jars that are unique to the version):
|*0.3.0 version*|*0.4.0 version*|
|h2-1.3.176.jar|aopalliance-repackaged-2.5.0-b42.jar|
|jackson-core-asl-1.9.13.jar|hk2-api-2.5.0-b42.jar|
|jackson-jaxrs-1.9.2.jar|hk2-locator-2.5.0-b42.jar|
|jackson-mapper-asl-1.9.13.jar|hk2-utils-2.5.0-b42.jar|
|jackson-xc-1.9.2.jar|jackson-module-jaxb-annotations-2.9.1.jar|
|jaxb-api-2.2.2.jar|javassist-3.22.0-CR2.jar|
|jaxb-impl-2.2.3-1.jar|javax.annotation-api-1.2.jar|
|jersey-client-1.19.jar|javax.inject-1.jar|
|jersey-json-1.19.jar|javax.inject-2.5.0-b42.jar|
|jettison-1.1.jar|javax.ws.rs-api-2.1.jar|
|stax-api-1.0-2.jar|jersey-client-2.26.jar|
|swagger-annotations-1.5.3-M1.jar|jersey-common-2.26.jar|
| |jersey-entity-filtering-2.26.jar|
| |jersey-hk2-2.26.jar|
| |jersey-media-json-jackson-2.26.jar|
| |swagger-annotations-1.5.16.jar|
| |validation-api-2.0.0.Final.jar|

By removing the file javax.ws.rs-api-2.1.jar from lib directory in 0.4.0 version, it works as expected.

> C2 - Exception while agent tries to pull the config
> ---------------------------------------------------
>
>                 Key: MINIFI-431
>                 URL: https://issues.apache.org/jira/browse/MINIFI-431
>             Project: Apache NiFi MiNiFi
>          Issue Type: Bug
>          Components: Command and Control
>    Affects Versions: 0.4.0
>            Reporter: Pierre Villard
>            Priority: Major
>
> My setup:
> MiNiFi Java agent - 0.4.0
> C2 server - 0.4.0
> On agent's side:
> {code:java}
> nifi.minifi.notifier.ingestors=org.apache.nifi.minifi.bootstrap.configuration.ingestors.PullHttpChangeIngestor
> # Hostname on which to pull configurations from
> nifi.minifi.notifier.ingestors.pull.http.hostname=localhost
> # Port on which to pull configurations from
> nifi.minifi.notifier.ingestors.pull.http.port=10080
> # Path to pull configurations from
> nifi.minifi.notifier.ingestors.pull.http.path=/c2/config
> # Query string to pull configurations with
> nifi.minifi.notifier.ingestors.pull.http.query=class=hadoop-agents
> # Period on which to pull configurations from, defaults to 5 minutes if commented out
> nifi.minifi.notifier.ingestors.pull.http.period.ms=60000
> {code}
>  
>  I kept everything default on C2's side. I just put my workflow into:
> {code:java}
> ./files/hadoop-agents/config.text.yml.v1
> {code}
>  
> Here is the exception I get when the agent tries to pull the config:
> {code:java}
> Jan 24, 2018 8:45:03 PM com.sun.jersey.spi.spring.container.servlet.SpringServlet getContext
> INFO: Using default applicationContext
> Jan 24, 2018 8:45:03 PM com.sun.jersey.spi.spring.container.SpringComponentProviderFactory registerSpringBeans
> INFO: Registering Spring bean, configService, of type org.apache.nifi.minifi.c2.service.ConfigService as a root resource class
> Jan 24, 2018 8:45:03 PM com.sun.jersey.server.impl.application.WebApplicationImpl _initiate
> INFO: Initiating Jersey application, version 'Jersey: 1.19 02/11/2015 03:25 AM'
> 2018-01-24 20:45:04,397 DEBUG [qtp1018298342-12] o.a.n.m.c.s.a.C2AnonymousAuthenticationFilter Populated SecurityContextHolder with anonymous token: 'org.apache.nifi.minifi.c2.security.authentication.C2AuthenticationToken@52a3d06d: Principal: anonymous; Credentials: [PROTECTED]; Authenticated: true; Details: null; Granted Authorities: ROLE_ANONYMOUS'
> 2018-01-24 20:45:04,403 WARN [qtp1018298342-12] org.eclipse.jetty.server.HttpChannel /c2/config
> java.lang.AbstractMethodError: javax.ws.rs.core.UriBuilder.uri(Ljava/lang/String;)Ljavax/ws/rs/core/UriBuilder;
>     at javax.ws.rs.core.UriBuilder.fromUri(UriBuilder.java:120)
>     at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:669)
>     at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
>     at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:841)
>     at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1634)
>     at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:316)
>     at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:126)
>     at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:90)
>     at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330)
>     at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:122)
>     at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330)
>     at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:111)
>     at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330)
>     at org.apache.nifi.minifi.c2.security.authentication.X509AuthenticationFilter.doFilter(X509AuthenticationFilter.java:43)
>     at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330)
>     at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:213)
>     at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:176)
>     at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:346)
>     at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:262)
>     at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1613)
>     at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:541)
>     at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143)
>     at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:548)
>     at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
>     at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:190)
>     at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1593)
>     at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:188)
>     at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1239)
>     at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:168)
>     at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:481)
>     at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1562)
>     at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:166)
>     at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1141)
>     at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
>     at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:118)
>     at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
>     at org.eclipse.jetty.server.Server.handle(Server.java:564)
>     at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:320)
>     at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:251)
>     at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:279)
>     at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:110)
>     at org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:124)
>     at org.eclipse.jetty.util.thread.Invocable.invokePreferred(Invocable.java:122)
>     at org.eclipse.jetty.util.thread.strategy.ExecutingExecutionStrategy.invoke(ExecutingExecutionStrategy.java:58)
>     at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.produceConsume(ExecuteProduceConsume.java:201)
>     at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.produce(ExecuteProduceConsume.java:97)
>     at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:672)
>     at org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:590)
>     at java.lang.Thread.run(Thread.java:745){code}
>  
> Did I miss something in the configuration?
> Could it be a dependency collision somewhere in the last version with the new dependencies to the registry?



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)