Hi Sanjeet, That's correct. Setting the JVM arguments for proxy server access can create the problems you observed, and it is unlikely to work as expected when it comes to proxy access. Various NiFi components use different methods for creating network connections. For this reason, enabling outgoing proxy server access will be more reliable using the ProxyConfigurationService. If there specific components that have issues with proxy server connectivity, it would be worth creating a Jira issue for those components. If proxy server access is limited to your custom component, then the best approach is to integrate the ProxyConfigurationService and determine how that should be wired to your custom component library.
Regards, David Handermann On Thu, Jan 13, 2022 at 1:02 PM sanjeet rath <rath.sanj...@gmail.com> wrote: > Thanks a lot for the quick response. > > So u r suggesting we should not use proxy in jvm argument(nifi > bootstrap.conf file) lable also as it will impact other component.like in > my case its impacting nifi-api. > > Regards, > Sanjeet > > On Fri, 14 Jan 2022, 12:19 am David Handermann, < > exceptionfact...@apache.org> > wrote: > > > Hi Sanjeet, > > > > Thank you for providing the stack trace and details of your > configuration. > > Setting Java System properties in custom code is not a safe or supported > > operation in NiFi. As you have observed, setting system properties > alters > > the behavior of other components, leading to unexpected results. > > > > If you need to support access through a proxy server, the > > ProxyConfigurationService interface and StandardProxyConfigurationService > > implementation provide a way to specify proxy server properties: > > > > > > > https://nifi.apache.org/docs/nifi-docs/components/org.apache.nifi/nifi-proxy-configuration-nar/1.15.2/org.apache.nifi.proxy.StandardProxyConfigurationService/index.html > > > > Regards, > > David Handermann > > > > On Thu, Jan 13, 2022 at 12:39 PM sanjeet rath <rath.sanj...@gmail.com> > > wrote: > > > > > Hi, > > > > > > I encounter one "java.net.NoRouteToHostException: No route to host > > (Host > > > unreachable)" in *Nifi UI login page *. > > > The after debugging i realised when i am setting the proxy & port in > > > *System.setProperty("proxy address") & System.setProperty("port > address") > > > *in > > > my custom processor. then this issue is appearing . > > > > > > The other way i also replicated when i am setting at the* jvm > lable(in > > > bootstrap.conf file -Dhttp.proxyHost=address) *for nifi application > this > > > exception is coming in nifi ui login page:, After removal of this > > argument > > > it works fine. > > > > > > Could someone help me to understand what could be the issue. > > > > > > Nifi version: 1.12.1 > > > cluster : 3 node (amazon EC2 linux cluster) > > > > > > *Detail exception from nifi-app.log:* > > > > > > o.a.n.c.c.h.r.ThreadPoolRequestReplicator Failed to replicate request > GET > > > /nifi-api/flow/current-user to "exampledumyserveraddress" due to > > > java.net.NoRouteToHostException: No route to host (Host unreachable) > > > > > > 2022-01-13 12:57:23,722 WARN [Replicate Request Thread-5] > > > o.a.n.c.c.h.r.ThreadPoolRequestReplicator > > > > > > java.net.NoRouteToHostException: No route to host (Host unreachable) > > > > > > at java.base/java.net.PlainSocketImpl.socketConnect(Native > > Method) > > > > > > at > > > java.base/java.net > > > .AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:399) > > > > > > at > > > java.base/java.net > > > > > > .AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:242) > > > > > > at > > > java.base/java.net > > > .AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:224) > > > > > > at > > > java.base/java.net.SocksSocketImpl.connect(SocksSocketImpl.java:403) > > > > > > at java.base/java.net.Socket.connect(Socket.java:609) > > > > > > at > > > okhttp3.internal.platform.Platform.connectSocket(Platform.java:130) > > > > > > at > > > > > > > > > okhttp3.internal.connection.RealConnection.connectSocket(RealConnection.java:263) > > > > > > at > > > > > > > > > okhttp3.internal.connection.RealConnection.connectTunnel(RealConnection.java:235) > > > > > > at > > > > > > okhttp3.internal.connection.RealConnection.connect(RealConnection.java:177) > > > > > > at > > > > > > > > > okhttp3.internal.connection.ExchangeFinder.findConnection(ExchangeFinder.java:224) > > > > > > at > > > > > > > > > okhttp3.internal.connection.ExchangeFinder.findHealthyConnection(ExchangeFinder.java:108) > > > > > > at > > > okhttp3.internal.connection.ExchangeFinder.find(ExchangeFinder.java:88) > > > > > > at > > > > okhttp3.internal.connection.Transmitter.newExchange(Transmitter.java:169) > > > > > > at > > > > > > > > > okhttp3.internal.connection.ConnectInterceptor.intercept(ConnectInterceptor.java:41) > > > > > > at > > > > > > > > > okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:142) > > > > > > at > > > > > > > > > okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:117) > > > > > > at > > > > > > okhttp3.internal.cache.CacheInterceptor.intercept(CacheInterceptor.java:94) > > > > > > at > > > > > > > > > okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:142) > > > > > > at > > > > > > > > > okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:117) > > > > > > at > > > > > > > > > okhttp3.internal.http.BridgeInterceptor.intercept(BridgeInterceptor.java:93) > > > > > > at > > > > > > > > > okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:142) > > > > > > at > > > > > > > > > okhttp3.internal.http.RetryAndFollowUpInterceptor.intercept(RetryAndFollowUpInterceptor.java:88) > > > > > > at > > > > > > > > > okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:142) > > > > > > at > > > > > > > > > okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:117) > > > > > > at > > > okhttp3.RealCall.getResponseWithInterceptorChain(RealCall.java:229) > > > > > > at okhttp3.RealCall.execute(RealCall.java:81) > > > > > > at > > > > > > > > > org.apache.nifi.cluster.coordination.http.replication.okhttp.OkHttpReplicationClient.replicate(OkHttpReplicationClient.java:132) > > > > > > at > > > > > > > > > org.apache.nifi.cluster.coordination.http.replication.okhttp.OkHttpReplicationClient.replicate(OkHttpReplicationClient.java:126) > > > > > > at > > > > > > > > > org.apache.nifi.cluster.coordination.http.replication.ThreadPoolRequestReplicator.replicateRequest(ThreadPoolRequestReplicator.java:647) > > > > > > at > > > > > > > > > org.apache.nifi.cluster.coordination.http.replication.ThreadPoolRequestReplicator$NodeHttpRequest.run(ThreadPoolRequestReplicator.java:839) > > > > > > at > > > > > > > > > java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515) > > > > > > at > > > java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) > > > > > > at > > > > > > > > > java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) > > > > > > at > > > > > > > > > java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) > > > > > > at java.base/java.lang.Thread.run(Thread.java:834) > > > > > > > > > > > > > > > > > > Thanks & Regards > > > -- > > > Sanjeet Kumar Rath, > > > mob- +91 8777577470 > > > > > >