ijbgreen opened a new issue, #2902:
URL: https://github.com/apache/drill/issues/2902

   **Describe the bug**
   I have an Apache Cassandra cluster configured with three nodes. To which I 
need to connect and execute queries. But when I perform any type of Drill 
operation it always returns the following error: 
com.datastax.oss.driver.api.core.NoNodeAvailableException: No node was 
available to execute the query.  I have tried to change the topology of the 
Cassandra cluster thinking that would be the problem but no. This error does 
not occur with other connectors that we use, like python modules that we use to 
process data to Cassandra cluster.
   
   **To Reproduce**
   1.-Configure de Cassandra Storage Plugin
   2.-Try to query any table in any keyspace
   
   **Expected behavior**
   Query data return
   
   
   **Error detail, log output or screenshots**
   Open failed for reader: EnumerableRecordReader
   Fragment: 0:0
   
   [Error Id: 308d678c-b8e7-4377-8b32-507460a43a93 on 
ip-10-125-112-16.ec2.internal:31010]
   
     (com.datastax.oss.driver.api.core.NoNodeAvailableException) No node was 
available to execute the query
       com.datastax.oss.driver.api.core.NoNodeAvailableException.copy():40
       
com.datastax.oss.driver.internal.core.util.concurrent.CompletableFutures.getUninterruptibly():149
       
com.datastax.oss.driver.internal.core.cql.CqlRequestSyncProcessor.process():53
       
com.datastax.oss.driver.internal.core.cql.CqlRequestSyncProcessor.process():30
       
com.datastax.oss.driver.internal.core.session.DefaultSession.execute():237
       com.datastax.oss.driver.api.core.cql.SyncCqlSession.execute():54
       com.datastax.oss.driver.api.core.cql.SyncCqlSession.execute():78
       org.apache.calcite.adapter.cassandra.CassandraTable$2.enumerator():223
       org.apache.calcite.linq4j.AbstractEnumerable.iterator():33
       java.lang.Iterable.spliterator():101
       org.apache.drill.exec.store.enumerable.EnumerableRecordReader.setup():107
       org.apache.drill.exec.store.enumerable.EnumerableRecordReader.open():146
       
org.apache.drill.exec.physical.impl.scan.framework.ManagedScanFramework.open():211
       
org.apache.drill.exec.physical.impl.scan.framework.ShimBatchReader.open():76
       org.apache.drill.exec.physical.impl.scan.ReaderState.open():224
       
org.apache.drill.exec.physical.impl.scan.ScanOperatorExec.nextAction():286
       org.apache.drill.exec.physical.impl.scan.ScanOperatorExec.next():242
       org.apache.drill.exec.physical.impl.protocol.OperatorDriver.doNext():201
       org.apache.drill.exec.physical.impl.protocol.OperatorDriver.start():179
       org.apache.drill.exec.physical.impl.protocol.OperatorDriver.next():129
       
org.apache.drill.exec.physical.impl.protocol.OperatorRecordBatch.next():149
       org.apache.drill.exec.record.AbstractRecordBatch.next():109
       org.apache.drill.exec.record.AbstractRecordBatch.next():101
       org.apache.drill.exec.record.AbstractUnaryRecordBatch.innerNext():59
       
org.apache.drill.exec.physical.impl.project.ProjectRecordBatch.innerNext():93
       org.apache.drill.exec.record.AbstractRecordBatch.next():160
       org.apache.drill.exec.physical.impl.BaseRootExec.next():103
       
org.apache.drill.exec.physical.impl.ScreenCreator$ScreenRoot.innerNext():81
       org.apache.drill.exec.physical.impl.BaseRootExec.next():93
       org.apache.drill.exec.work.fragment.FragmentExecutor.lambda$run$0():321
       java.security.AccessController.doPrivileged():-2
       javax.security.auth.Subject.doAs():423
       org.apache.hadoop.security.UserGroupInformation.doAs():1762
       org.apache.drill.exec.work.fragment.FragmentExecutor.run():310
       org.apache.drill.common.SelfCleaningRunnable.run():38
       java.util.concurrent.ThreadPoolExecutor.runWorker():1128
       java.util.concurrent.ThreadPoolExecutor$Worker.run():628
       java.lang.Thread.run():834
   
        at 
org.apache.drill.exec.server.rest.RestQueryRunner.submitQuery(RestQueryRunner.java:99)
        at 
org.apache.drill.exec.server.rest.RestQueryRunner.run(RestQueryRunner.java:54)
        at 
org.apache.drill.exec.server.rest.QueryResources.submitQuery(QueryResources.java:161)
        at 
java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at 
java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at 
java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.base/java.lang.reflect.Method.invoke(Method.java:566)
        at 
org.glassfish.jersey.server.model.internal.ResourceMethodInvocationHandlerFactory.lambda$static$0(ResourceMethodInvocationHandlerFactory.java:52)
        at 
org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher$1.run(AbstractJavaResourceMethodDispatcher.java:124)
        at 
org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.invoke(AbstractJavaResourceMethodDispatcher.java:167)
        at 
org.glassfish.jersey.server.model.internal.JavaResourceMethodDispatcherProvider$TypeOutInvoker.doDispatch(JavaResourceMethodDispatcherProvider.java:219)
        at 
org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.dispatch(AbstractJavaResourceMethodDispatcher.java:79)
        at 
org.glassfish.jersey.server.model.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:475)
        at 
org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:397)
        at 
org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:81)
        at 
org.glassfish.jersey.server.ServerRuntime$1.run(ServerRuntime.java:255)
        at org.glassfish.jersey.internal.Errors$1.call(Errors.java:248)
        at org.glassfish.jersey.internal.Errors$1.call(Errors.java:244)
        at org.glassfish.jersey.internal.Errors.process(Errors.java:292)
        at org.glassfish.jersey.internal.Errors.process(Errors.java:274)
        at org.glassfish.jersey.internal.Errors.process(Errors.java:244)
        at 
org.glassfish.jersey.process.internal.RequestScope.runInScope(RequestScope.java:265)
        at 
org.glassfish.jersey.server.ServerRuntime.process(ServerRuntime.java:234)
        at 
org.glassfish.jersey.server.ApplicationHandler.handle(ApplicationHandler.java:680)
        at 
org.glassfish.jersey.servlet.WebComponent.serviceImpl(WebComponent.java:394)
        at 
org.glassfish.jersey.servlet.WebComponent.service(WebComponent.java:346)
        at 
org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:366)
        at 
org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:319)
        at 
org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:205)
        at 
org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:799)
        at 
org.eclipse.jetty.servlet.ServletHandler$ChainEnd.doFilter(ServletHandler.java:1631)
        at 
org.apache.drill.exec.server.rest.header.ResponseHeadersSettingFilter.doFilter(ResponseHeadersSettingFilter.java:71)
        at 
org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193)
        at 
org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1601)
        at 
org.apache.drill.exec.server.rest.CsrfTokenValidateFilter.doFilter(CsrfTokenValidateFilter.java:55)
        at 
org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193)
        at 
org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1601)
        at 
org.apache.drill.exec.server.rest.CsrfTokenInjectFilter.doFilter(CsrfTokenInjectFilter.java:54)
        at 
org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193)
        at 
org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1601)
        at 
org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:548)
        at 
org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143)
        at 
org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:571)
        at 
org.apache.drill.exec.server.rest.auth.DrillHttpSecurityHandlerProvider.handle(DrillHttpSecurityHandlerProvider.java:163)
        at 
org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127)
        at 
org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:235)
        at 
org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1624)
        at 
org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:233)
        at 
org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1434)
        at 
org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:188)
        at 
org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:501)
        at 
org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1594)
        at 
org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:186)
        at 
org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1349)
        at 
org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
        at 
org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127)
        at org.eclipse.jetty.server.Server.handle(Server.java:516)
        at 
org.eclipse.jetty.server.HttpChannel.lambda$handle$1(HttpChannel.java:400)
        at org.eclipse.jetty.server.HttpChannel.dispatch(HttpChannel.java:645)
        at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:392)
        at 
org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:277)
        at 
org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:311)
        at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:105)
        at org.eclipse.jetty.io.ChannelEndPoint$1.run(ChannelEndPoint.java:104)
        at 
org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:338)
        at 
org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:315)
        at 
org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:173)
        at 
org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:131)
        at 
org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:409)
        at 
org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:883)
        at 
org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:1034)
        at java.base/java.lang.Thread.run(Thread.java:834)
   Caused by: java.lang.Exception: No node was available to execute the query
        at 
com.datastax.oss.driver.api.core.NoNodeAvailableException.copy(NoNodeAvailableException.java:40)
        at 
com.datastax.oss.driver.internal.core.util.concurrent.CompletableFutures.getUninterruptibly(CompletableFutures.java:149)
        at 
com.datastax.oss.driver.internal.core.cql.CqlRequestSyncProcessor.process(CqlRequestSyncProcessor.java:53)
        at 
com.datastax.oss.driver.internal.core.cql.CqlRequestSyncProcessor.process(CqlRequestSyncProcessor.java:30)
        at 
com.datastax.oss.driver.internal.core.session.DefaultSession.execute(DefaultSession.java:237)
        at 
com.datastax.oss.driver.api.core.cql.SyncCqlSession.execute(SyncCqlSession.java:54)
        at 
com.datastax.oss.driver.api.core.cql.SyncCqlSession.execute(SyncCqlSession.java:78)
        at 
org.apache.calcite.adapter.cassandra.CassandraTable$2.enumerator(CassandraTable.java:223)
        at 
org.apache.calcite.linq4j.AbstractEnumerable.iterator(AbstractEnumerable.java:33)
        at .......(:0)
        at 
org.apache.drill.exec.store.enumerable.EnumerableRecordReader.setup(EnumerableRecordReader.java:107)
        at 
org.apache.drill.exec.store.enumerable.EnumerableRecordReader.open(EnumerableRecordReader.java:146)
        at 
org.apache.drill.exec.physical.impl.scan.framework.ManagedScanFramework.open(ManagedScanFramework.java:211)
        at 
org.apache.drill.exec.physical.impl.scan.framework.ShimBatchReader.open(ShimBatchReader.java:76)
        at 
org.apache.drill.exec.physical.impl.scan.ReaderState.open(ReaderState.java:224)
        at 
org.apache.drill.exec.physical.impl.scan.ScanOperatorExec.nextAction(ScanOperatorExec.java:286)
        at 
org.apache.drill.exec.physical.impl.scan.ScanOperatorExec.next(ScanOperatorExec.java:242)
        at 
org.apache.drill.exec.physical.impl.protocol.OperatorDriver.doNext(OperatorDriver.java:201)
        at 
org.apache.drill.exec.physical.impl.protocol.OperatorDriver.start(OperatorDriver.java:179)
        at 
org.apache.drill.exec.physical.impl.protocol.OperatorDriver.next(OperatorDriver.java:129)
        at 
org.apache.drill.exec.physical.impl.protocol.OperatorRecordBatch.next(OperatorRecordBatch.java:149)
        at 
org.apache.drill.exec.record.AbstractRecordBatch.next(AbstractRecordBatch.java:109)
        at 
org.apache.drill.exec.record.AbstractRecordBatch.next(AbstractRecordBatch.java:101)
        at 
org.apache.drill.exec.record.AbstractUnaryRecordBatch.innerNext(AbstractUnaryRecordBatch.java:59)
        at 
org.apache.drill.exec.physical.impl.project.ProjectRecordBatch.innerNext(ProjectRecordBatch.java:93)
        at 
org.apache.drill.exec.record.AbstractRecordBatch.next(AbstractRecordBatch.java:160)
        at 
org.apache.drill.exec.physical.impl.BaseRootExec.next(BaseRootExec.java:103)
        at 
org.apache.drill.exec.physical.impl.ScreenCreator$ScreenRoot.innerNext(ScreenCreator.java:81)
        at 
org.apache.drill.exec.physical.impl.BaseRootExec.next(BaseRootExec.java:93)
        at 
org.apache.drill.exec.work.fragment.FragmentExecutor.lambda$run$0(FragmentExecutor.java:321)
        at .......(:0)
        at 
org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1762)
        at 
org.apache.drill.exec.work.fragment.FragmentExecutor.run(FragmentExecutor.java:310)
        at 
org.apache.drill.common.SelfCleaningRunnable.run(SelfCleaningRunnable.java:38)
        at .......(:0)
   2024-04-18 22:43:55,631 [19de0973-8750-a353-e6ab-6c091311b934:frag:0:0] WARN 
 o.a.d.e.w.f.QueryStateProcessor - Dropping request to move to COMPLETED state 
as query is already at FAILED state (which is terminal).
   
   **Drill version**
   Drill Version 1.21.1
   
   **Additional context**
   In many forums i read that this issue is because the query doesn´t have a 
datacenter defined in the Cassandra Connection. But i can't  find where in the 
configuration use it. In fact we only can configure one node of the Cassandra 
Cluster
   
[cassandra.json](https://github.com/apache/drill/files/15033481/cassandra.json)
   [drillbit.log](https://github.com/apache/drill/files/15033483/drillbit.log)
   
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: dev-unsubscr...@drill.apache.org.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org

Reply via email to