You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@shardingsphere.apache.org by "strongduanmu (via GitHub)" <gi...@apache.org> on 2023/04/11 09:47:42 UTC

[GitHub] [shardingsphere] strongduanmu opened a new issue, #25109: Object 't_order' not found exception occurs when I execute query in gaussdb database

strongduanmu opened a new issue, #25109:
URL: https://github.com/apache/shardingsphere/issues/25109

   ## Bug Report
   
   ### Which version of ShardingSphere did you use?
   
   [de7273c](https://github.com/apache/shardingsphere/commit/de7273ca926684a4340cec74a32711bcd46eb114)
   
   ### Which project did you use? ShardingSphere-JDBC or ShardingSphere-Proxy?
   
   ShardingSphere-Proxy
   
   ### Expected behavior
   
   Execute `SELECT * FROM t_order WHERE user_id = 1;` successfully.
   
   ### Actual behavior
   
   ```
   - everything you need to get the most out of using Atomikos!
   [ERROR] 2023-04-11 17:21:57.852 [nioEventLoopGroup-5-1] o.a.s.p.f.n.FrontendChannelInboundHandler - Exception occur: 
   org.apache.shardingsphere.dialect.exception.syntax.database.UnknownDatabaseException: null
   	at org.apache.shardingsphere.proxy.frontend.opengauss.authentication.OpenGaussAuthenticationEngine.lambda$login$1(OpenGaussAuthenticationEngine.java:124)
   	at org.apache.shardingsphere.infra.util.exception.ShardingSpherePreconditions.checkState(ShardingSpherePreconditions.java:41)
   	at org.apache.shardingsphere.proxy.frontend.opengauss.authentication.OpenGaussAuthenticationEngine.login(OpenGaussAuthenticationEngine.java:124)
   	at org.apache.shardingsphere.proxy.frontend.opengauss.authentication.OpenGaussAuthenticationEngine.processPasswordMessage(OpenGaussAuthenticationEngine.java:111)
   	at org.apache.shardingsphere.proxy.frontend.opengauss.authentication.OpenGaussAuthenticationEngine.authenticate(OpenGaussAuthenticationEngine.java:103)
   	at org.apache.shardingsphere.proxy.frontend.netty.FrontendChannelInboundHandler.authenticate(FrontendChannelInboundHandler.java:78)
   	at org.apache.shardingsphere.proxy.frontend.netty.FrontendChannelInboundHandler.channelRead(FrontendChannelInboundHandler.java:70)
   	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444)
   	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
   	at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)
   	at io.netty.handler.flow.FlowControlHandler.dequeue(FlowControlHandler.java:202)
   	at io.netty.handler.flow.FlowControlHandler.channelRead(FlowControlHandler.java:164)
   	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:442)
   	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
   	at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)
   	at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:346)
   	at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:318)
   	at io.netty.handler.codec.ByteToMessageCodec.channelRead(ByteToMessageCodec.java:103)
   	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:442)
   	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
   	at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)
   	at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1410)
   	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:440)
   	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
   	at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:919)
   	at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:166)
   	at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:788)
   	at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:724)
   	at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:650)
   	at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:562)
   	at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997)
   	at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
   	at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
   	at java.base/java.lang.Thread.run(Thread.java:834)
   [INFO ] 2023-04-11 17:22:09.720 [Connection-2-ThreadExecutor] o.a.s.p.b.h.a.e.AbstractDatabaseMetaDataExecutor$DefaultDatabaseMetaDataExecutor - Actual SQL: ds_0 ::: select name, setting from pg_settings where name in ('connection_info')
   [ERROR] 2023-04-11 17:23:32.830 [Connection-2-ThreadExecutor] o.a.s.p.f.c.CommandExecutorTask - Exception occur: 
   org.apache.calcite.runtime.CalciteContextException: At line 0, column 0: Object 't_order' not found
   	at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
   	at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
   	at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
   	at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:490)
   	at org.apache.calcite.runtime.Resources$ExInstWithCause.ex(Resources.java:505)
   	at org.apache.calcite.sql.SqlUtil.newContextException(SqlUtil.java:932)
   	at org.apache.calcite.sql.SqlUtil.newContextException(SqlUtil.java:917)
   	at org.apache.calcite.sql.validate.SqlValidatorImpl.newValidationError(SqlValidatorImpl.java:5362)
   	at org.apache.calcite.sql.validate.IdentifierNamespace.resolveImpl(IdentifierNamespace.java:183)
   	at org.apache.calcite.sql.validate.IdentifierNamespace.validateImpl(IdentifierNamespace.java:188)
   	at org.apache.calcite.sql.validate.AbstractNamespace.validate(AbstractNamespace.java:89)
   	at org.apache.calcite.sql.validate.SqlValidatorImpl.validateNamespace(SqlValidatorImpl.java:1107)
   	at org.apache.calcite.sql.validate.SqlValidatorImpl.validateQuery(SqlValidatorImpl.java:1078)
   	at org.apache.calcite.sql.validate.SqlValidatorImpl.validateFrom(SqlValidatorImpl.java:3381)
   	at org.apache.calcite.sql.validate.SqlValidatorImpl.validateFrom(SqlValidatorImpl.java:3360)
   	at org.apache.calcite.sql.validate.SqlValidatorImpl.validateSelect(SqlValidatorImpl.java:3697)
   	at org.apache.calcite.sql.validate.SelectNamespace.validateImpl(SelectNamespace.java:64)
   	at org.apache.calcite.sql.validate.AbstractNamespace.validate(AbstractNamespace.java:89)
   	at org.apache.calcite.sql.validate.SqlValidatorImpl.validateNamespace(SqlValidatorImpl.java:1107)
   	at org.apache.calcite.sql.validate.SqlValidatorImpl.validateQuery(SqlValidatorImpl.java:1078)
   	at org.apache.calcite.sql.SqlSelect.validate(SqlSelect.java:248)
   	at org.apache.calcite.sql.validate.SqlValidatorImpl.validateScopedExpression(SqlValidatorImpl.java:1053)
   	at org.apache.calcite.sql.validate.SqlValidatorImpl.validate(SqlValidatorImpl.java:759)
   	at org.apache.calcite.sql2rel.SqlToRelConverter.convertQuery(SqlToRelConverter.java:592)
   	at org.apache.shardingsphere.sqlfederation.optimizer.SQLOptimizeEngine.optimize(SQLOptimizeEngine.java:50)
   	at org.apache.shardingsphere.sqlfederation.advanced.AdvancedSQLFederationExecutor.execute(AdvancedSQLFederationExecutor.java:144)
   	at org.apache.shardingsphere.sqlfederation.advanced.AdvancedSQLFederationExecutor.executeQuery(AdvancedSQLFederationExecutor.java:114)
   	at org.apache.shardingsphere.proxy.backend.connector.DatabaseConnector.doExecuteFederation(DatabaseConnector.java:298)
   	at org.apache.shardingsphere.proxy.backend.connector.DatabaseConnector.execute(DatabaseConnector.java:205)
   	at org.apache.shardingsphere.proxy.frontend.opengauss.command.query.simple.OpenGaussComQueryExecutor.execute(OpenGaussComQueryExecutor.java:77)
   	at org.apache.shardingsphere.proxy.frontend.command.CommandExecutorTask.doExecuteCommand(CommandExecutorTask.java:116)
   	at org.apache.shardingsphere.proxy.frontend.command.CommandExecutorTask.executeCommand(CommandExecutorTask.java:111)
   	at org.apache.shardingsphere.proxy.frontend.command.CommandExecutorTask.run(CommandExecutorTask.java:78)
   	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
   	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
   	at java.base/java.lang.Thread.run(Thread.java:834)
   Caused by: org.apache.calcite.sql.validate.SqlValidatorException: Object 't_order' not found
   	at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
   	at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
   	at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
   	at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:490)
   	at org.apache.calcite.runtime.Resources$ExInstWithCause.ex(Resources.java:505)
   	at org.apache.calcite.runtime.Resources$ExInst.ex(Resources.java:599)
   	... 31 common frames omitted
   [INFO ] 2023-04-11 17:26:39.668 [Atomikos:1] o.o.core.v3.ConnectionFactoryImpl - [bea4b67b-2515-4b83-9bde-1e366aff5bb7] Try to connect. IP: localhost:15432
   [INFO ] 2023-04-11 17:26:39.691 [Atomikos:1] o.o.core.v3.ConnectionFactoryImpl - [127.0.0.1:56375/ocalhost/127.0.0.1:15432] Connection is established. ID: bea4b67b-2515-4b83-9bde-1e366aff5bb7
   [INFO ] 2023-04-11 17:26:39.700 [Atomikos:1] o.o.core.v3.ConnectionFactoryImpl - Connect complete. ID: bea4b67b-2515-4b83-9bde-1e366aff5bb7
   [INFO ] 2023-04-11 17:26:39.771 [Atomikos:1] o.o.core.v3.ConnectionFactoryImpl - [803a2cdf-abbf-40a9-8825-821378d7fada] Try to connect. IP: localhost:15432
   [INFO ] 2023-04-11 17:26:39.781 [Atomikos:1] o.o.core.v3.ConnectionFactoryImpl - [127.0.0.1:56376/ocalhost/127.0.0.1:15432] Connection is established. ID: 803a2cdf-abbf-40a9-8825-821378d7fada
   [INFO ] 2023-04-11 17:26:39.788 [Atomikos:1] o.o.core.v3.ConnectionFactoryImpl - Connect complete. ID: 803a2cdf-abbf-40a9-8825-821378d7fada
   ```
   
   ### Reason analyze (If you can)
   
   ### Steps to reproduce the behavior, such as: SQL to execute, sharding rule configuration, when exception occur etc.
   
   ```yaml
   databaseName: gaussdb
   
   dataSources:
     ds_0:
       url: jdbc:opengauss://localhost:15432/db_0
       username: gaussdb
       password: Sphere@123
       connectionTimeoutMilliseconds: 30000
       idleTimeoutMilliseconds: 60000
       maxLifetimeMilliseconds: 1800000
       maxPoolSize: 50
       minPoolSize: 1
     ds_1:
       url: jdbc:opengauss://localhost:15432/db_1
       username: gaussdb
       password: Sphere@123
       connectionTimeoutMilliseconds: 30000
       idleTimeoutMilliseconds: 60000
       maxLifetimeMilliseconds: 1800000
       maxPoolSize: 50
       minPoolSize: 1
   
   rules:
   - !SHARDING
     tables:
       t_order:
         actualDataNodes: ds_${0..1}.t_order_${0..1}
         tableStrategy:
           standard:
             shardingColumn: order_id
             shardingAlgorithmName: t_order_inline
         keyGenerateStrategy:
           column: order_id
           keyGeneratorName: snowflake
       t_order_item:
         actualDataNodes: ds_${0..1}.t_order_item_${0..1}
         tableStrategy:
           standard:
             shardingColumn: order_id
             shardingAlgorithmName: t_order_item_inline
         keyGenerateStrategy:
           column: order_item_id
           keyGeneratorName: snowflake
     bindingTables:
       - t_order,t_order_item
     defaultDatabaseStrategy:
       standard:
         shardingColumn: user_id
         shardingAlgorithmName: database_inline
     defaultTableStrategy:
       none:
   
     shardingAlgorithms:
       database_inline:
         type: INLINE
         props:
           algorithm-expression: ds_${user_id % 2}
       t_order_inline:
         type: INLINE
         props:
           algorithm-expression: t_order_${order_id % 2}
       t_order_item_inline:
         type: INLINE
         props:
           algorithm-expression: t_order_item_${order_id % 2}
   
     keyGenerators:
       snowflake:
         type: SNOWFLAKE
   ```
   
   And then execute `SELECT * FROM t_order WHERE user_id = 1;`
   
   ### Example codes for reproduce this issue (such as a github link).
   


-- 
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: notifications-unsubscribe@shardingsphere.apache.org.apache.org

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


[GitHub] [shardingsphere] taojintianxia closed issue #25109: Object 't_order' not found exception occurs when I execute query in gaussdb database

Posted by "taojintianxia (via GitHub)" <gi...@apache.org>.
taojintianxia closed issue #25109: Object 't_order' not found exception occurs when I execute query in gaussdb database
URL: https://github.com/apache/shardingsphere/issues/25109


-- 
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: notifications-unsubscribe@shardingsphere.apache.org

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