{"action":"created","issue":{"url":"https://api.github.com/repos/hawtio/hawtio/issues/2466","repository_url":"https://api.github.com/repos/hawtio/hawtio","labels_url":"https://api.github.com/repos/hawtio/hawtio/issues/2466/labels{/name}","comments_url":"https://api.github.com/repos/hawtio/hawtio/issues/2466/comments","events_url":"https://api.github.com/repos/hawtio/hawtio/issues/2466/events","html_url":"https://github.com/hawtio/hawtio/issues/2466","id":318595733,"number":2466,"title":"Slow reverse DNS in io.hawt.system.ProxyWhitelist blocks Spring Boot startup","user":{"login":"adrian-baker","id":19352496,"avatar_url":"https://avatars0.githubusercontent.com/u/19352496?v=4","gravatar_id":"","url":"https://api.github.com/users/adrian-baker","html_url":"https://github.com/adrian-baker","followers_url":"https://api.github.com/users/adrian-baker/followers","following_url":"https://api.github.com/users/adrian-baker/following{/other_user}","gists_url":"https://api.github.com/users/adrian-baker/gists{/gist_id}","starred_url":"https://api.github.com/users/adrian-baker/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/adrian-baker/subscriptions","organizations_url":"https://api.github.com/users/adrian-baker/orgs","repos_url":"https://api.github.com/users/adrian-baker/repos","events_url":"https://api.github.com/users/adrian-baker/events{/privacy}","received_events_url":"https://api.github.com/users/adrian-baker/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":4,"created_at":"2018-04-28T03:23:09Z","updated_at":"2018-05-01T01:29:56Z","closed_at":null,"author_association":"NONE","body":"Using hawtio-springboot, I was confused as to why my tiny application was taking 40 seconds to start up.\r\n\r\nThread dumps revealed it was stuck in io.hawt.system.ProxyWhitelist.initialiseWhitelist() . I tried to workaround by adding an explicit whitelist with `hawtio.proxyWhitelist`, however it appears to still then try automatically adding localhost names to this list. Nor can I see any way to disable the remote connection plugin (we don't use it).\r\n\r\n    \"restartedMain\" #13 prio=5 os_prio=0 tid=0x000000002d426000 nid=0x2614 runnable [0x000000002e0ee000]\r\n    java.lang.Thread.State: RUNNABLE\r\n            at java.net.Inet6AddressImpl.getHostByAddr(Native Method)\r\n            at java.net.InetAddress$2.getHostByAddr(InetAddress.java:932)\r\n            at java.net.InetAddress.getHostFromNameService(InetAddress.java:617)\r\n            at java.net.InetAddress.getCanonicalHostName(InetAddress.java:588)\r\n            at io.hawt.system.ProxyWhitelist.initialiseWhitelist(ProxyWhitelist.java:86)\r\n            at io.hawt.system.ProxyWhitelist.<init>(ProxyWhitelist.java:45)\r\n            at io.hawt.web.ProxyServlet.init(ProxyServlet.java:116)\r\n            at org.eclipse.jetty.servlet.ServletHolder.initServlet(ServletHolder.java:637)\r\n            at org.eclipse.jetty.servlet.ServletHolder.initialize(ServletHolder.java:421)\r\n            at org.eclipse.jetty.servlet.ServletHandler.initialize(ServletHandler.java:760)\r\n            at org.springframework.boot.context.embedded.jetty.JettyEmbeddedWebAppContext$JettyEmbeddedServletHandler.deferredInitialize(JettyEmbeddedWebAppContext.java:46)\r\n            at org.springframework.boot.context.embedded.jetty.JettyEmbeddedWebAppContext.deferredInitialize(JettyEmbeddedWebAppContext.java:36)\r\n            at org.springframework.boot.context.embedded.jetty.JettyEmbeddedServletContainer.handleDeferredInitialize(JettyEmbeddedServletContainer.java:205)\r\n            at org.springframework.boot.context.embedded.jetty.JettyEmbeddedServletContainer.start(JettyEmbeddedServletContainer.java:138)\r\n            - locked <0x0000000722076718> (a java.lang.Object)\r\n            at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.startEmbeddedServletContainer(EmbeddedWebApplicationContext.java:297)\r\n            at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.finishRefresh(EmbeddedWebApplicationContext.java:145)\r\n            at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:546)\r\n            - locked <0x000000071fbf2a90> (a java.lang.Object)\r\n            at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.refresh(EmbeddedWebApplicationContext.java:122)\r\n            at org.springframework.boot.actuate.autoconfigure.EndpointWebMvcAutoConfiguration.createChildManagementContext(EndpointWebMvcAutoConfiguration.java:193)\r\n            at org.springframework.boot.actuate.autoconfigure.EndpointWebMvcAutoConfiguration.afterSingletonsInstantiated(EndpointWebMvcAutoConfiguration.java:156)\r\n            at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:781)\r\n            at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:867)\r\n            at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:543)\r\n            - locked <0x00000005c0d46260> (a java.lang.Object)\r\n            at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.refresh(EmbeddedWebApplicationContext.java:122)\r\n            at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:693)\r\n            at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:360)\r\n            at org.springframework.boot.SpringApplication.run(SpringApplication.java:303)\r\n            at org.springframework.boot.SpringApplication.run(SpringApplication.java:1118)\r\n            at org.springframework.boot.SpringApplication.run(SpringApplication.java:1107)\r\n            at nz.co.tvnz.MainApplication.main(MainApplication.java:13)\r\n            at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\r\n            at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\r\n            at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\r\n            at java.lang.reflect.Method.invoke(Method.java:498)\r\n            at org.springframework.boot.devtools.restart.RestartLauncher.run(RestartLauncher.java:49)\r\n"},"comment":{"url":"https://api.github.com/repos/hawtio/hawtio/issues/comments/385576848","html_url":"https://github.com/hawtio/hawtio/issues/2466#issuecomment-385576848","issue_url":"https://api.github.com/repos/hawtio/hawtio/issues/2466","id":385576848,"user":{"login":"tadayosi","id":156692,"avatar_url":"https://avatars3.githubusercontent.com/u/156692?v=4","gravatar_id":"","url":"https://api.github.com/users/tadayosi","html_url":"https://github.com/tadayosi","followers_url":"https://api.github.com/users/tadayosi/followers","following_url":"https://api.github.com/users/tadayosi/following{/other_user}","gists_url":"https://api.github.com/users/tadayosi/gists{/gist_id}","starred_url":"https://api.github.com/users/tadayosi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tadayosi/subscriptions","organizations_url":"https://api.github.com/users/tadayosi/orgs","repos_url":"https://api.github.com/users/tadayosi/repos","events_url":"https://api.github.com/users/tadayosi/events{/privacy}","received_events_url":"https://api.github.com/users/tadayosi/received_events","type":"User","site_admin":false},"created_at":"2018-05-01T01:29:56Z","updated_at":"2018-05-01T01:29:56Z","author_association":"OWNER","body":"`ProxyServlet` is actually the backend for Connect plugin, and while it's not useful for Spring Boot it's indeed used in other use cases such as hawtio-app.jar and hawtio.war where users want to monitor/manager multiple JVM instances from a single point."}}
{"actor":{"display_login":"tadayosi"}}