You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@shardingsphere.apache.org by GitBox <gi...@apache.org> on 2020/02/11 08:08:30 UTC

[GitHub] [incubator-shardingsphere] kimmking commented on issue #4236: sharing-proxy can't suport mysql 'longblob' data type

kimmking commented on issue #4236: sharing-proxy can't suport  mysql 'longblob'  data type
URL: https://github.com/apache/incubator-shardingsphere/issues/4236#issuecomment-584517973
 
 
   blob type also has this problem.
   reproduce it:
   1. create a table with a blob type column:
   ```sql
   CREATE TABLE `testblob` (
     `id` bigint(1) NOT NULL,
     `descblob` blob,
     PRIMARY KEY (`id`)
   ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
   ```
   2. insert a row by mysql-cli directly:
   ```
   mysql> insert into testblob values (1,'\u0083\u0083\u0083\u0083');
   Query OK, 1 row affected (0.01 sec)
   ```
   3. insert a row by proxy:
   ```
   insert into testblob values (1,'\u0083\u0083\u0083\u0083')
   [2020-02-11 15:55:30] [C1000][10002] 2Unknown exception: [null]
   ```
   And in proxy logs, an error can be found:
   ```
   [ERROR] 16:06:47.135 [ShardingSphere-Command-13] o.a.s.s.f.c.CommandExecutorTask - Exception occur:
   java.util.NoSuchElementException: null
   	at java.util.Collections$EmptyIterator.next(Collections.java:4189)
   	at org.apache.shardingsphere.sharding.route.engine.condition.engine.InsertClauseShardingConditionEngine.createShardingCondition(InsertClauseShardingConditionEngine.java:86)
   	at org.apache.shardingsphere.sharding.route.engine.condition.engine.InsertClauseShardingConditionEngine.createShardingConditions(InsertClauseShardingConditionEngine.java:65)
   	at org.apache.shardingsphere.sharding.route.engine.ShardingRouter.getShardingConditions(ShardingRouter.java:116)
   	at org.apache.shardingsphere.sharding.route.engine.ShardingRouter.route(ShardingRouter.java:87)
   	at org.apache.shardingsphere.core.shard.SimpleQueryShardingEngine.route(SimpleQueryShardingEngine.java:54)
   	at org.apache.shardingsphere.core.shard.BaseShardingEngine.executeRoute(BaseShardingEngine.java:109)
   	at org.apache.shardingsphere.core.shard.BaseShardingEngine.shard(BaseShardingEngine.java:91)
   	at org.apache.shardingsphere.shardingproxy.backend.communication.jdbc.wrapper.StatementExecutorWrapper.doShardingRoute(StatementExecutorWrapper.java:85)
   	at org.apache.shardingsphere.shardingproxy.backend.communication.jdbc.wrapper.StatementExecutorWrapper.route(StatementExecutorWrapper.java:71)
   	at org.apache.shardingsphere.shardingproxy.backend.communication.jdbc.JDBCDatabaseCommunicationEngine.execute(JDBCDatabaseCommunicationEngine.java:87)
   	at org.apache.shardingsphere.shardingproxy.backend.text.query.QueryBackendHandler.execute(QueryBackendHandler.java:54)
   	at org.apache.shardingsphere.shardingproxy.frontend.mysql.command.query.text.query.MySQLComQueryPacketExecutor.execute(MySQLComQueryPacketExecutor.java:75)
   	at org.apache.shardingsphere.shardingproxy.frontend.command.CommandExecutorTask.executeCommand(CommandExecutorTask.java:92)
   	at org.apache.shardingsphere.shardingproxy.frontend.command.CommandExecutorTask.run(CommandExecutorTask.java:72)
   	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
   	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
   	at java.lang.Thread.run(Thread.java:748)
   ```
   
   

----------------------------------------------------------------
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.
 
For queries about this service, please contact Infrastructure at:
users@infra.apache.org


With regards,
Apache Git Services