com.datastax.driver.core.exceptions.InvalidQueryException:未配置的表peers_v2

问题描述 投票:0回答:1

我正在使用Spring Boot开发连接到cassandra的应用程序

这是我的连接设置

spring.data.cassandra.contact-points=localhost
spring.data.cassandra.keyspace-name=sa_tas_db_cassandra
spring.data.cassandra.schema-action=create_if_not_exists
spring.data.cassandra.username=cassandra

我只是使用一个通过模型创建的表。以下是

import org.springframework.data.cassandra.core.mapping.PrimaryKey
import org.springframework.data.cassandra.core.mapping.Table
import java.time.LocalTime
import java.util.*

@Table
data class CallLog(
    @PrimaryKey
    val callId:UUID,
    val CustomerUsername: String? = null,
    val callDirection: String? = null,
    val callingPartyName:String? = null,
    val callingPartyNumber:String? = null,
    val calledPartyNumber:String? = null,
    val typeOfCall:String? = null,
    val startTime: Date? = null,
    val answerTime: LocalTime? = null,
    val disconnectTime:Date? = null,
    val timeCallForwarded: Date? = null,
    val voicemailSystemAccessNumber:String? = null
)

这就是我所有的cassandra设置

我也在用新的文物监视我的应用程序,它正在产生以下问题

….netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:99)
…hannel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:377)
…hannel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:363)
….channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:355)
  io.netty.handler.timeout.IdleStateHandler.channelRead(IdleStateHandler.java:286)
…hannel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:377)
…hannel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:363)
….channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:355)
…etty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:102)
…hannel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:377)
…hannel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:363)
….channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:355)
…tty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:321)
…o.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:295)
…hannel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:377)
…hannel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:363)
….channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:355)
…netty.channel.ChannelInboundHandlerAdapter.channelRead(ChannelInboundHandlerAdapter.java:93)
…hannel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:377)
…hannel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:363)
….channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:355)
…channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1410)
…hannel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:377)
…hannel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:363)
…o.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:919)
….channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:163)
   io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:714)
….channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:650)
  io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:576)
                  io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493)
….netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989)
         io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
   io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)

此错误不影响应用程序的操作,仅影响性能

谢谢

java spring-boot cassandra newrelic spring-data-cassandra
1个回答
0
投票
这是支持Cassandra 4.0的兼容性测试的一部分,该Cassandra 4.0将有关群集中节点的信息存储在具有不同名称的表中,因此驱动程序首先假定它在较新的版本上运行,并检查此表以及是否收到错误。 ,则它使用旧的peers表。无法仅从版本号可靠地检测Cassandra节点的功能,这就是为什么最好显式检查表的原因。

对应的代码是here

© www.soinside.com 2019 - 2024. All rights reserved.