嵌套的异常是com.datastax.oss.driver.api.core.NoNodeAvailableException:没有节点可用于执行

问题描述

我们面临一个奇怪的问题,即我们的测试环境(几乎所有UAT,分段等),其中插入间歇性地失败,并出现以下错误

)];没有可用的节点来执行查询;嵌套的异常是com.datastax.oss.driver.api.core.NoNodeAvailableException:没有节点可用于执行查询

大多数情况下,应用程序运行良好,并且将数据插入到表中,但间歇地会观察到此错误。我们已经验证了Cassandra的状态,网络状态似乎都很好。

以下是版本应用程序驱动程序详细信息:

spring-data-cassandra = 3.0.3  
cassandra driver = 4.6.1  
DSE cassandra database = 6.7.0  

错误

2020-11-03 13:17:15.698 [hystrix-integration.preclearance-1] [user =] [request_id = e6daa8:90f87a] [traveller_identifier =] [org.springframework.data.cassandra.core.convert。 MappingCassandraConverter]调试-添加map.entry [transaction_code]-[e6daa8] 2020-11-03 13:17:15.698 [hystrix-integration.preclearance-1] [user =] [request_id = e6daa8:90f87a] [traveller_identifier =] [org.springframework.data.cassandra.core.convert.MappingCassandraConverter]调试-doWithProperties Property.type java.lang.String,Property.value e6daa8a6-39a0-4078-9aa8-a639a0f07896 2020-11-03 13:17:15.698 [hystrix-integration.preclearance-1] [user =] [request_id = e6daa8:90f87a] [traveller_identifier =] [org.springframework.data.cassandra.core.convert.MappingCassandraConverter]调试-添加map.entry [transaction_id]-[e6daa8a6-39a0-4078-9aa8-a639a0f07896] 2020-11-03 13:17:15.698 [hystrix-integration.preclearance-1] [user =] [request_id = e6daa8:90f87a] [traveller_identifier =] [org.springframework.data.cassandra.core.convert.MappingCassandraConverter]调试-doWithProperties Property.type ae.emaratech.nga.core.logging.ActionType,Property.value响应 2020-11-03 13:17:15.698 [hystrix-integration.preclearance-1] [user =] [request_id = e6daa8:90f87a] [traveller_identifier =] [org.springframework.data.cassandra.core.convert.MappingCassandraConverter]调试-添加map.entry [类型]-[响应] 2020-11-03 13:17:15.701 [hystrix-integration.preclearance-1] [user =] [request_id = e6daa8:90f87a] [traveller_identifier =] [ae.emaratech.nga.integration.handler.IntegrationLogHandler]错误-异常记录响应{}时发生 org.springframework.data.cassandra.CassandraConnectionFailureException:SessionCallback; CQL [将日志插入(SNO)值(1)]; 无节点可用于执行查询;嵌套的异常是com.datastax.oss.driver.api.core.NoNodeAvailableException:没有节点可用于执行查询 org.springframework.data.cassandra.core.cql.CassandraExceptionTranslator.translate(CassandraExceptionTranslator.java:137) 在org.springframework.data.cassandra.core.cql.CassandraAccessor.translate(CassandraAccessor.java:379) 在org.springframework.data.cassandra.core.cql.CqlTemplate.translateException(CqlTemplate.java:718) 在org.springframework.data.cassandra.core.cql.CqlTemplate.execute(CqlTemplate.java:131) 在org.springframework.data.cassandra.core.Cassandratemplate.executeSave(Cassandratemplate.java:863) 在org.springframework.data.cassandra.core.Cassandratemplate.executeSave(Cassandratemplate.java:854) 在org.springframework.data.cassandra.core.Cassandratemplate.doInsert(Cassandratemplate.java:665) 在org.springframework.data.cassandra.core.Cassandratemplate.doInsert(Cassandratemplate.java:648) 在org.springframework.data.cassandra.core.Cassandratemplate.insert(Cassandratemplate.java:629) 在org.springframework.data.cassandra.core.Cassandratemplate.insert(Cassandratemplate.java:617) 在org.springframework.data.cassandra.repository.support.SimpleCassandraRepository.insert(SimpleCassandraRepository.java:121) 在sun.reflect.GeneratedMethodAccessor339.invoke(未知来源) 在sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:55) 在java.lang.reflect.Method.invoke(Method.java:508) 在org.springframework.data.repository.core.support.ImplementationInvocationMetadata.invoke(ImplementationInvocationMetadata.java:72) 在org.springframework.data.repository.core.support.RepositoryComposition $ RepositoryFragments.invoke(RepositoryComposition.java:382) 在org.springframework.data.repository.core.support.RepositoryComposition.invoke(RepositoryComposition.java:205) 在org.springframework.data.repository.core.support.RepositoryFactorySupport $ ImplementationMethodExecutionInterceptor.invoke(RepositoryFactorySupport.java:549) 在org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) 在org.springframework.data.repository.core.support.QueryExecutorMethodInterceptor.doInvoke(QueryExecutorMethodInterceptor.java:155) 在org.springframework.data.repository.core.support.QueryExecutorMethodInterceptor.invoke(QueryExecutorMethodInterceptor.java:130) 在org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) 在org.springframework.data.projection.DefaultMethodInvokingMethodInterceptor.invoke(DefaultMethodInvokingMethodInterceptor.java:80) 在org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) 在org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:95) 在org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) 在org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:212) 在com.sun.proxy。$ Proxy317.insert(未知来源) 在sun.reflect.GeneratedMethodAccessor338.invoke(未知来源) 在sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:55) 在java.lang.reflect.Method.invoke(Method.java:508) 在org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:344) 在org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:198)

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)