Hello Hongwei, You could easily check your assumption by connecting both drillbits and then disabling first(successful) one. Although as far as I know storage plugin shouldn't be enabled if connection to storage fails. It would be great if you described in detail the steps to reproduce in order to fulfill Jira ticket.
Thanks, Igor On Wed, Sep 4, 2019 at 11:29 AM Hongwei Zhao <hongwei.z...@ericsson.com.invalid> wrote: > Hello team, > > I have an issue when use drill 1.16. > I have a mongo server as mongodb, > Then use drill first server connect mongodb, it is success and can select > data. > Then I want to use other drill server connect mongodb, it can connect > success, and can see database, but not see tables. If select, have an issue > as below log. > > Do you notice me what is lost on me side or how to fix, I guess one drill > connect to mongo, then other drill will can not connect mongo and select > data. > > Thank you~ > BR//Hongwei > > > [Error Id: d15207fe-4c07-45ae-867c-bf484371fd37 on abcd-c4:31010] > at > org.apache.drill.exec.server.rest.QueryWrapper.run(QueryWrapper.java:126) > ~[drill-java-exec-1.16.0.jar:1.16.0] > at > org.apache.drill.exec.server.rest.QueryResources.submitQueryJSON(QueryResources.java:74) > ~[drill-java-exec-1.16.0.jar:1.16.0] > at > org.apache.drill.exec.server.rest.QueryResources.submitQuery(QueryResources.java:90) > ~[drill-java-exec-1.16.0.jar:1.16.0] > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > ~[na:1.8.0_221] > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) > ~[na:1.8.0_221] > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > ~[na:1.8.0_221] > at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_221] > at > org.glassfish.jersey.server.model.internal.ResourceMethodInvocationHandlerFactory$1.invoke(ResourceMethodInvocationHandlerFactory.java:81) > [jersey-server-2.25.1.jar:na] > at > org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher$1.run(AbstractJavaResourceMethodDispatcher.java:144) > [jersey-server-2.25.1.jar:na] > at > org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.invoke(AbstractJavaResourceMethodDispatcher.java:161) > [jersey-server-2.25.1.jar:na] > at > org.glassfish.jersey.server.model.internal.JavaResourceMethodDispatcherProvider$TypeOutInvoker.doDispatch(JavaResourceMethodDispatcherProvider.java:205) > [jersey-server-2.25.1.jar:na] > at > org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.dispatch(AbstractJavaResourceMethodDispatcher.java:99) > [jersey-server-2.25.1.jar:na] > at > org.glassfish.jersey.server.model.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:389) > [jersey-server-2.25.1.jar:na] > at > org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:347) > [jersey-server-2.25.1.jar:na] > at > org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:102) > [jersey-server-2.25.1.jar:na] > at > org.glassfish.jersey.server.ServerRuntime$2.run(ServerRuntime.java:326) > [jersey-server-2.25.1.jar:na] > at org.glassfish.jersey.internal.Errors$1.call(Errors.java:271) > [jersey-common-2.25.1.jar:na] > at org.glassfish.jersey.internal.Errors$1.call(Errors.java:267) > [jersey-common-2.25.1.jar:na] > at org.glassfish.jersey.internal.Errors.process(Errors.java:315) > [jersey-common-2.25.1.jar:na] > at org.glassfish.jersey.internal.Errors.process(Errors.java:297) > [jersey-common-2.25.1.jar:na] > at org.glassfish.jersey.internal.Errors.process(Errors.java:267) > [jersey-common-2.25.1.jar:na] > at > org.glassfish.jersey.process.internal.RequestScope.runInScope(RequestScope.java:317) > [jersey-common-2.25.1.jar:na] > at > org.glassfish.jersey.server.ServerRuntime.process(ServerRuntime.java:305) > [jersey-server-2.25.1.jar:na] > at > org.glassfish.jersey.server.ApplicationHandler.handle(ApplicationHandler.java:1154) > [jersey-server-2.25.1.jar:na] > at > org.glassfish.jersey.servlet.WebComponent.serviceImpl(WebComponent.java:473) > [jersey-container-servlet-core-2.25.1.jar:na] > at > org.glassfish.jersey.servlet.WebComponent.service(WebComponent.java:427) > [jersey-container-servlet-core-2.25.1.jar:na] > at > org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:388) > [jersey-container-servlet-core-2.25.1.jar:na] > at > org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:341) > [jersey-container-servlet-core-2.25.1.jar:na] > at > org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:228) > [jersey-container-servlet-core-2.25.1.jar:na] > at > org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:848) > [jetty-servlet-9.3.25.v20180904.jar:9.3.25.v20180904] > at > org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:585) > [jetty-servlet-9.3.25.v20180904.jar:9.3.25.v20180904] > at > org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:224) > [jetty-server-9.3.25.v20180904.jar:9.3.25.v20180904] > at > org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1180) > [jetty-server-9.3.25.v20180904.jar:9.3.25.v20180904] > at > org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:513) > [jetty-servlet-9.3.25.v20180904.jar:9.3.25.v20180904] > at > org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185) > [jetty-server-9.3.25.v20180904.jar:9.3.25.v20180904] > at > org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1112) > [jetty-server-9.3.25.v20180904.jar:9.3.25.v20180904] > at > org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141) > [jetty-server-9.3.25.v20180904.jar:9.3.25.v20180904] > at > org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:134) > [jetty-server-9.3.25.v20180904.jar:9.3.25.v20180904] > at org.eclipse.jetty.server.Server.handle(Server.java:539) > [jetty-server-9.3.25.v20180904.jar:9.3.25.v20180904] > at > org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:333) > [jetty-server-9.3.25.v20180904.jar:9.3.25.v20180904] > at > org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:251) > [jetty-server-9.3.25.v20180904.jar:9.3.25.v20180904] > at > org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:283) > [jetty-io-9.3.25.v20180904.jar:9.3.25.v20180904] > at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:108) > [jetty-io-9.3.25.v20180904.jar:9.3.25.v20180904] > at > org.eclipse.jetty.io.SelectChannelEndPoint$2.run(SelectChannelEndPoint.java:93) > [jetty-io-9.3.25.v20180904.jar:9.3.25.v20180904] > at > org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.executeProduceConsume(ExecuteProduceConsume.java:303) > [jetty-util-9.3.25.v20180904.jar:9.3.25.v20180904] > at > org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.produceConsume(ExecuteProduceConsume.java:148) > [jetty-util-9.3.25.v20180904.jar:9.3.25.v20180904] > at > org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.run(ExecuteProduceConsume.java:136) > [jetty-util-9.3.25.v20180904.jar:9.3.25.v20180904] > at > org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:671) > [jetty-util-9.3.25.v20180904.jar:9.3.25.v20180904] > at > org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:589) > [jetty-util-9.3.25.v20180904.jar:9.3.25.v20180904] > at java.lang.Thread.run(Thread.java:748) [na:1.8.0_221] > org.apache.drill.exec.work.foreman.ForemanException: Unexpected exception > during fragment initialization: Error while applying rule DrillTableRule, > args [rel#44:EnumerableTableScan.ENUMERABLE.ANY([]).[](table=[mongo, ABCD, > UtranFreqRelation_20190904])] > at org.apache.drill.exec.work.foreman.Foreman.run(Foreman.java:305) > ~[drill-java-exec-1.16.0.jar:1.16.0] > at .......(:0) ~[na:na] > Caused by: java.lang.RuntimeException: Error while applying rule > DrillTableRule, args > [rel#44:EnumerableTableScan.ENUMERABLE.ANY([]).[](table=[mongo, ABCD, > UtranFreqRelation_20190904])] > at > org.apache.calcite.plan.volcano.VolcanoRuleCall.onMatch(VolcanoRuleCall.java:236) > ~[calcite-core-1.18.0-drill-r0.jar:1.18.0-drill-r0] > at > org.apache.calcite.plan.volcano.VolcanoPlanner.findBestExp(VolcanoPlanner.java:643) > ~[calcite-core-1.18.0-drill-r0.jar:1.18.0-drill-r0] > at > org.apache.calcite.tools.Programs$RuleSetProgram.run(Programs.java:339) > ~[calcite-core-1.18.0-drill-r0.jar:1.18.0-drill-r0] > at > org.apache.drill.exec.planner.sql.handlers.DefaultSqlHandler.transform(DefaultSqlHandler.java:430) > ~[drill-java-exec-1.16.0.jar:1.16.0] > at > org.apache.drill.exec.planner.sql.handlers.DefaultSqlHandler.transform(DefaultSqlHandler.java:370) > ~[drill-java-exec-1.16.0.jar:1.16.0] > at > org.apache.drill.exec.planner.sql.handlers.DefaultSqlHandler.convertToRawDrel(DefaultSqlHandler.java:250) > ~[drill-java-exec-1.16.0.jar:1.16.0] > at > org.apache.drill.exec.planner.sql.handlers.DefaultSqlHandler.convertToDrel(DefaultSqlHandler.java:319) > ~[drill-java-exec-1.16.0.jar:1.16.0] > at > org.apache.drill.exec.planner.sql.handlers.DefaultSqlHandler.getPlan(DefaultSqlHandler.java:177) > ~[drill-java-exec-1.16.0.jar:1.16.0] > at > org.apache.drill.exec.planner.sql.DrillSqlWorker.getQueryPlan(DrillSqlWorker.java:216) > ~[drill-java-exec-1.16.0.jar:1.16.0] > at > org.apache.drill.exec.planner.sql.DrillSqlWorker.convertPlan(DrillSqlWorker.java:130) > ~[drill-java-exec-1.16.0.jar:1.16.0] > at > org.apache.drill.exec.planner.sql.DrillSqlWorker.getPlan(DrillSqlWorker.java:87) > ~[drill-java-exec-1.16.0.jar:1.16.0] > at org.apache.drill.exec.work.foreman.Foreman.runSQL(Foreman.java:593) > ~[drill-java-exec-1.16.0.jar:1.16.0] > at org.apache.drill.exec.work.foreman.Foreman.run(Foreman.java:276) > ~[drill-java-exec-1.16.0.jar:1.16.0] > ... 1 common frames omitted > Caused by: java.lang.NullPointerException: > at > org.apache.drill.shaded.guava.com.google.common.base.Preconditions.checkNotNull(Preconditions.java:787) > ~[drill-shaded-guava-23.0.jar:23.0] > at > org.apache.drill.exec.store.mongo.MongoGroupScan.getPrimaryShardInfo(MongoGroupScan.java:306) > ~[drill-mongo-storage-1.16.0.jar:1.16.0] > at > org.apache.drill.exec.store.mongo.MongoGroupScan.init(MongoGroupScan.java:272) > ~[drill-mongo-storage-1.16.0.jar:1.16.0] > at > org.apache.drill.exec.store.mongo.MongoGroupScan.<init>(MongoGroupScan.java:137) > ~[drill-mongo-storage-1.16.0.jar:1.16.0] > at > org.apache.drill.exec.store.mongo.MongoStoragePlugin.getPhysicalScan(MongoStoragePlugin.java:92) > ~[drill-mongo-storage-1.16.0.jar:1.16.0] > at > org.apache.drill.exec.store.AbstractStoragePlugin.getPhysicalScan(AbstractStoragePlugin.java:112) > ~[drill-java-exec-1.16.0.jar:1.16.0] > at > org.apache.drill.exec.store.AbstractStoragePlugin.getPhysicalScan(AbstractStoragePlugin.java:117) > ~[drill-java-exec-1.16.0.jar:1.16.0] > at > org.apache.drill.exec.planner.logical.DrillTable.getGroupScan(DrillTable.java:117) > ~[drill-java-exec-1.16.0.jar:1.16.0] > at > org.apache.drill.exec.planner.common.DrillScanRelBase.<init>(DrillScanRelBase.java:51) > ~[drill-java-exec-1.16.0.jar:1.16.0] > at > org.apache.drill.exec.planner.logical.DrillScanRel.<init>(DrillScanRel.java:79) > ~[drill-java-exec-1.16.0.jar:1.16.0] > at > org.apache.drill.exec.planner.logical.DrillScanRel.<init>(DrillScanRel.java:66) > ~[drill-java-exec-1.16.0.jar:1.16.0] > at > org.apache.drill.exec.planner.logical.DrillScanRel.<init>(DrillScanRel.java:59) > ~[drill-java-exec-1.16.0.jar:1.16.0] > at > org.apache.drill.exec.planner.logical.DrillScanRule.onMatch(DrillScanRule.java:38) > ~[drill-java-exec-1.16.0.jar:1.16.0] > at > org.apache.calcite.plan.volcano.VolcanoRuleCall.onMatch(VolcanoRuleCall.java:212) > ~[calcite-core-1.18.0-drill-r0.jar:1.18.0-drill-r0] > ... 13 common frames omitted > >