Apache Ignite Spring Data扩展文档缺失瘦客户端配置步骤
Apache Ignite瘦客户端连接Spring Data时SQL表找不到问题的解决与文档建议
按照官方文档使用瘦客户端连接Apache Ignite时,遇到如下错误:
Caused by: org.apache.ignite.client.ClientException: Ignite failed to process request [6]: 50000: Failed to find SQL table for type: TestData (server status code [1]) at org.apache.ignite.internal.client.thin.TcpClientChannel.convertException(TcpClientChannel.java:359) ~[ignite-core-2.13.0.jar:2.13.0] at org.apache.ignite.internal.client.thin.TcpClientChannel.receive(TcpClientChannel.java:319) ~[ignite-core-2.13.0.jar:2.13.0] at org.apache.ignite.internal.client.thin.TcpClientChannel.service(TcpClientChannel.java:237) ~[ignite-core-2.13.0.jar:2.13.0] at org.apache.ignite.internal.client.thin.ReliableChannel.lambda$service$1(ReliableChannel.java:167) ~[ignite-core-2.13.0.jar:2.13.0] at org.apache.ignite.internal.client.thin.ReliableChannel.applyOnDefaultChannel(ReliableChannel.java:764) ~[ignite-core-2.13.0.jar:2.13.0] at org.apache.ignite.internal.client.thin.ReliableChannel.applyOnDefaultChannel(ReliableChannel.java:731) ~[ignite-core-2.13.0.jar:2.13.0] at org.apache.ignite.internal.client.thin.ReliableChannel.service(ReliableChannel.java:167) ~[ignite-core-2.13.0.jar:2.13.0] at org.apache.ignite.internal.client.thin.GenericQueryPager.next(GenericQueryPager.java:93) ~[ignite-core-2.13.0.jar:2.13.0] at org.apache.ignite.internal.client.thin.ClientQueryCursor$1.nextPage(ClientQueryCursor.java:93) ~[ignite-core-2.13.0.jar:2.13.0] at org.apache.ignite.internal.client.thin.ClientQueryCursor$1.hasNext(ClientQueryCursor.java:76) ~[ignite-core-2.13.0.jar:2.13.0] at org.apache.ignite.springdata.repository.query.IgniteRepositoryQuery$QueryCursorWrapper$1.hasNext(IgniteRepositoryQuery.java:938) ~[ignite-spring-data-ext-2.0.0.jar:2.0.0] at org.apache.ignite.springdata.repository.query.IgniteRepositoryQuery.transformQueryCursor(IgniteRepositoryQuery.java:621) ~[ignite-spring-data-ext-2.0.0.jar:2.0.0] at org.apache.ignite.springdata.repository.query.IgniteRepositoryQuery.execute(IgniteRepositoryQuery.java:360) ~[ignite-spring-data-ext-2.0.0.jar:2.0.0] at org.springframework.data.repository.core.support.RepositoryMethodInvoker.doInvoke(RepositoryMethodInvoker.java:137) ~[spring-data-commons-2.7.2.jar:2.7.2] at org.springframework.data.repository.core.support.RepositoryMethodInvoker.invoke(RepositoryMethodInvoker.java:121) ~[spring-data-commons-2.7.2.jar:2.7.2] at org.springframework.data.repository.core.support.QueryExecutorMethodInterceptor.doInvoke(QueryExecutorMethodInterceptor.java:160) ~[spring-data-commons-2.7.2.jar:2.7.2] at org.springframework.data.repository.core.support.QueryExecutorMethodInterceptor.invoke(QueryExecutorMethodInterceptor.java:139) ~[spring-data-commons-2.7.2.jar:2.7.2] at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) ~[spring-aop-5.3.22.jar:5.3.22] at org.springframework.data.projection.DefaultMethodInvokingMethodInterceptor.invoke(DefaultMethodInvokingMethodInterceptor.java:81) ~[spring-data-commons-2.7.2.jar:2.7.2] at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) ~[spring-aop-5.3.22.jar:5.3.22] at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:97) ~[spring-aop-5.3.22.jar:5.3.22] at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) ~[spring-aop-5.3.22.jar:5.3.22] at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:215) ~[spring-aop-5.3.22.jar:5.3.22] at com.sun.proxy.$Proxy40.findById(Unknown Source) ~[na:na] at com.example.ignitespringdatalocal.IgniteSpringDataLocalApplication.run(IgniteSpringDataLocalApplication.java:33) [classes/:na] at org.springframework.boot.SpringApplication.callRunner(SpringApplication.java:771) [spring-boot-2.7.3.jar:2.7.3] ... 5 common frames omitted Caused by: org.apache.ignite.internal.client.thin.ClientServerError: Ignite failed to process request [6]: 50000: Failed to find SQL table for type: TestData (server status code [1]) at org.apache.ignite.internal.client.thin.TcpClientChannel.processNextMessage(TcpClientChannel.java:449) ~[ignite-core-2.13.0.jar:2.13.0] at org.apache.ignite.internal.client.thin.TcpClientChannel.onMessage(TcpClientChannel.java:194) ~[ignite-core-2.13.0.jar:2.13.0] at org.apache.ignite.internal.client.thin.io.gridnioserver.GridNioClientConnection.onMessage(GridNioClientConnection.java:86) ~[ignite-core-2.13.0.jar:2.13.0] at org.apache.ignite.internal.client.thin.io.gridnioserver.GridNioClientListener.onMessage(GridNioClientListener.java:56) ~[ignite-core-2.13.0.jar:2.13.0] at org.apache.ignite.internal.client.thin.io.gridnioserver.GridNioClientListener.onMessage(GridNioClientListener.java:30) ~[ignite-core-2.13.0.jar:2.13.0] at org.apache.ignite.internal.util.nio.GridNioFilterChain$TailFilter.onMessageReceived(GridNioFilterChain.java:279) ~[ignite-core-2.13.0.jar:2.13.0] at org.apache.ignite.internal.util.nio.GridNioFilterAdapter.proceedMessageReceived(GridNioFilterAdapter.java:109) ~[ignite-core-2.13.0.jar:2.13.0] at org.apache.ignite.internal.util.nio.GridNioCodecFilter.onMessageReceived(GridNioCodecFilter.java:116) ~[ignite-core-2.13.0.jar:2.13.0] at org.apache.ignite.internal.util.nio.GridNioFilterAdapter.proceedMessageReceived(GridNioFilterAdapter.java:109) ~[ignite-core-2.13.0.jar:2.13.0] at org.apache.ignite.internal.util.nio.GridNioServer$HeadFilter.onMessageReceived(GridNioServer.java:3734) ~[ignite-core-2.13.0.jar:2.13.0] at org.apache.ignite.internal.util.nio.GridNioFilterChain.onMessageReceived(GridNioFilterChain.java:175) ~[ignite-core-2.13.0.jar:2.13.0] at org.apache.ignite.internal.util.nio.GridNioServer$ByteBufferNioClientWorker.processRead(GridNioServer.java:1211) ~[ignite-core-2.13.0.jar:2.13.0] at org.apache.ignite.internal.util.nio.GridNioServer$AbstractNioClientWorker.processSelectedKeysOptimized(GridNioServer.java:2508) ~[ignite-core-2.13.0.jar:2.13.0] at org.apache.ignite.internal.util.nio.GridNioServer$AbstractNioClientWorker.bodyInternal(GridNioServer.java:2273) ~[ignite-core-2.13.0.jar:2.13.0] at org.apache.ignite.internal.util.nio.GridNioServer$AbstractNioClientWorker.body(GridNioServer.java:1910) ~[ignite-core-2.13.0.jar:2.13.0] at org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java:125) ~[ignite-core-2.13.0.jar:2.13.0] at java.lang.Thread.run(Thread.java:748) ~[na:1.8.0_161]
经搜索找到解决方案:
- 使用瘦客户端时,需为数据模型准备SQL DDL脚本,并通过sqlline工具执行;
- 使用厚客户端时,可通过
CacheConfiguration.setIndexedTypes()方法跳过上述DDL脚本执行步骤。
希望Apache Ignite团队能在官方文档中补充这一关键配置步骤,避免其他开发者踩坑。
内容的提问来源于stack exchange,提问作者kkoognv
相关产品推荐
相关产品推荐

