dble icon indicating copy to clipboard operation
dble copied to clipboard

Using date algorithm,default node is not useful for the values which is greater than the boundary with no 'sEndDate'

Open zhunina opened this issue 7 years ago • 1 comments

    <tableRule name="auto-sharding-long4">
        <rule>
            <columns>current</columns>
            <algorithm>sharding-date-alg</algorithm>
        </rule>
    </tableRule>
    <function name="sharding-date-alg" class="Date">
        <property name="dateFormat">yyyy-MM-dd</property>
        <property name="sBeginDate">2000-01-01</property>
        <property name="sPartionDay">15</property>
        <property name="defaultNode">1</property>
    </function>

mysql> insert into history values('2000-01-31',1,'aa');
ERROR 1064 (HY000): Index: 2, Size: 2
mysql> insert into history values('1000-01-31',1,'aa');
Query OK, 1 row affected (0.03 sec)
2017-12-01 14:13:24.997  WARN [$_NIOREACTOR-0-RW] (com.actiontech.dble.server.ServerConnection.executeException(ServerConnection.java:367)) - ServerConnection [id=1, schema=testdb, host=127.0.0.1, user=test,txIsolation=2, autocommit=true, schema=testdb]insert into history values('2000-01-31',1,'aa') err:java.lang.IndexOutOfBoundsException: Index: 2, Size: 2
java.lang.IndexOutOfBoundsException: Index: 2, Size: 2
        at java.util.ArrayList.rangeCheck(ArrayList.java:657) ~[?:1.8.0_151]
        at java.util.ArrayList.get(ArrayList.java:433) ~[?:1.8.0_151]
        at com.actiontech.dble.route.parser.druid.impl.DruidInsertParser.parserSingleInsert(DruidInsertParser.java:205) ~[dble-2.17.11.0-dev.jar:?]
        at com.actiontech.dble.route.parser.druid.impl.DruidInsertParser.visitorParse(DruidInsertParser.java:102) ~[dble-2.17.11.0-dev.jar:?]
        at com.actiontech.dble.route.parser.druid.impl.DefaultDruidParser.parser(DefaultDruidParser.java:47) ~[dble-2.17.11.0-dev.jar:?]
        at com.actiontech.dble.route.util.RouterUtil.routeFromParser(RouterUtil.java:119) ~[dble-2.17.11.0-dev.jar:?]
        at com.actiontech.dble.route.impl.DefaultRouteStrategy.routeNormalSqlWithAST(DefaultRouteStrategy.java:59) ~[dble-2.17.11.0-dev.jar:?]
        at com.actiontech.dble.route.impl.AbstractRouteStrategy.route(AbstractRouteStrategy.java:60) ~[dble-2.17.11.0-dev.jar:?]
        at com.actiontech.dble.route.RouteService.route(RouteService.java:108) ~[dble-2.17.11.0-dev.jar:?]
        at com.actiontech.dble.server.ServerConnection.routeEndExecuteSQL(ServerConnection.java:306) [dble-2.17.11.0-dev.jar:?]
        at com.actiontech.dble.server.ServerConnection.execute(ServerConnection.java:250) [dble-2.17.11.0-dev.jar:?]
        at com.actiontech.dble.server.ServerQueryHandler.query(ServerQueryHandler.java:137) [dble-2.17.11.0-dev.jar:?]
        at com.actiontech.dble.net.FrontendConnection.query(FrontendConnection.java:314) [dble-2.17.11.0-dev.jar:?]
        at com.actiontech.dble.net.FrontendConnection.query(FrontendConnection.java:332) [dble-2.17.11.0-dev.jar:?]
        at com.actiontech.dble.net.handler.FrontendCommandHandler.handleData(FrontendCommandHandler.java:51) [dble-2.17.11.0-dev.jar:?]
        at com.actiontech.dble.net.handler.FrontendCommandHandler.handle(FrontendCommandHandler.java:40) [dble-2.17.11.0-dev.jar:?]
        at com.actiontech.dble.net.FrontendConnection.rawHandle(FrontendConnection.java:469) [dble-2.17.11.0-dev.jar:?]
        at com.actiontech.dble.net.FrontendConnection.handle(FrontendConnection.java:451) [dble-2.17.11.0-dev.jar:?]
        at com.actiontech.dble.net.AbstractConnection.onReadData(AbstractConnection.java:297) [dble-2.17.11.0-dev.jar:?]
        at com.actiontech.dble.net.NIOSocketWR.asyncRead(NIOSocketWR.java:175) [dble-2.17.11.0-dev.jar:?]
        at com.actiontech.dble.net.AbstractConnection.asyncRead(AbstractConnection.java:256) [dble-2.17.11.0-dev.jar:?]
        at com.actiontech.dble.net.NIOReactor$RW.run(NIOReactor.java:73) [dble-2.17.11.0-dev.jar:?]
        at java.lang.Thread.run(Thread.java:748) [?:1.8.0_151]

zhunina avatar Dec 01 '17 06:12 zhunina

algorithm design problem, keep it intact

yanhuqing666 avatar Dec 01 '17 09:12 yanhuqing666