[ https://issues.apache.org/jira/browse/HIVE-26286?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17583330#comment-17583330 ]
Zhiguo Wu edited comment on HIVE-26286 at 8/23/22 4:09 AM: ----------------------------------------------------------- I tracked the code, It's seems because class variable _*server*_ is used before it is initialized. {code:java} public Server runServer(int port) throws Exception { // ... ignore some code // !!!!!! server will be used inside createChannelConnector() server.addConnector(createChannelConnector()); // Start the server server.start(); // !!!!!! server is initialized here this.server = server; return server; } private Connector createChannelConnector() { ServerConnector connector; final HttpConfiguration httpConf = new HttpConfiguration(); httpConf.setRequestHeaderSize(1024 * 64); final HttpConnectionFactory http = new HttpConnectionFactory(httpConf); // !!!!!! server will be used here, it passes null to ServerConnector, cause NPE if (conf.getBoolean(AppConfig.USE_SSL, false)) { // ... ignore some codes connector = new ServerConnector(server, sslContextFactory, http); } else { connector = new ServerConnector(server, http); } connector.setReuseAddress(true); connector.setHost(conf.get(AppConfig.HOST, DEFAULT_HOST)); connector.setPort(conf.getInt(AppConfig.PORT, DEFAULT_PORT)); return connector; }{code} was (Author: JIRAUSER294567): I tracked the code, It's seems because class variable _*server*_ is used before it is initialized. {code:java} public Server runServer(int port) throws Exception { ... ignore some code !!!!!! server will be used inside createChannelConnector() server.addConnector(createChannelConnector()); // Start the server server.start(); !!!!!! server is initialized here this.server = server; return server; } private Connector createChannelConnector() { ServerConnector connector; final HttpConfiguration httpConf = new HttpConfiguration(); httpConf.setRequestHeaderSize(1024 * 64); final HttpConnectionFactory http = new HttpConnectionFactory(httpConf); !!!!!! server will be used here, it passes null to ServerConnector, cause NPE if (conf.getBoolean(AppConfig.USE_SSL, false)) { ... ignore some codes connector = new ServerConnector(server, sslContextFactory, http); } else { connector = new ServerConnector(server, http); } connector.setReuseAddress(true); connector.setHost(conf.get(AppConfig.HOST, DEFAULT_HOST)); connector.setPort(conf.getInt(AppConfig.PORT, DEFAULT_PORT)); return connector; }{code} > Hive WebHCat Tests are failing > ------------------------------ > > Key: HIVE-26286 > URL: https://issues.apache.org/jira/browse/HIVE-26286 > Project: Hive > Issue Type: Bug > Components: HCatalog > Affects Versions: 4.0.0 > Environment: [link title|http://example.com] > Reporter: Anmol Sundaram > Priority: Major > > The Hive TestWebHCatE2e tests seem to be failing due to > > {quote}templeton: Server failed to start: null > [main] ERROR org.apache.hive.hcatalog.templeton.Main - Server failed to > start: > java.lang.NullPointerException > at > org.eclipse.jetty.server.AbstractConnector.<init>(AbstractConnector.java:174) > at > org.eclipse.jetty.server.AbstractNetworkConnector.<init>(AbstractNetworkConnector.java:44) > at org.eclipse.jetty.server.ServerConnector.<init>(ServerConnector.java:220) > at org.eclipse.jetty.server.ServerConnector.<init>(ServerConnector.java:143) > at > org.apache.hive.hcatalog.templeton.Main.createChannelConnector(Main.java:295) > at org.apache.hive.hcatalog.templeton.Main.runServer(Main.java:252) > at org.apache.hive.hcatalog.templeton.Main.run(Main.java:147) > at > org.apache.hive.hcatalog.templeton.TestWebHCatE2e.startHebHcatInMem(TestWebHCatE2e.java:94) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > at java.lang.reflect.Method.invoke(Method.java:498) > at > org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:59){quote} > {quote} {quote} > This seems to be caused due to HIVE-18728 , which is breaking. -- This message was sent by Atlassian Jira (v8.20.10#820010)