You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Pavel Pereslegin (Jira)" <ji...@apache.org> on 2023/05/12 07:34:00 UTC

[jira] [Assigned] (IGNITE-16780) IndexOutOfBoundException while intensive data loading through jdbc

     [ https://issues.apache.org/jira/browse/IGNITE-16780?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Pavel Pereslegin reassigned IGNITE-16780:
-----------------------------------------

    Assignee: Pavel Pereslegin

> IndexOutOfBoundException while intensive data loading through jdbc
> ------------------------------------------------------------------
>
>                 Key: IGNITE-16780
>                 URL: https://issues.apache.org/jira/browse/IGNITE-16780
>             Project: Ignite
>          Issue Type: Bug
>          Components: jdbc
>            Reporter: Alexander Belyak
>            Assignee: Pavel Pereslegin
>            Priority: Major
>              Labels: ignite-3
>
> While loading data (TPC-H lineitem)
> {code:java}
> CREATE TABLE lineitem (
>     l_orderkey      bigint         NOT NULL,
>     l_partkey       bigint         NOT NULL,
>     l_suppkey       bigint         NOT NULL,
>     l_linenumber    bigint         NOT NULL,
>     l_quantity      double         NOT NULL,
>     l_extendedprice double         NOT NULL,
>     l_discount      double         NOT NULL,
>     l_tax           double         NOT NULL,
>     l_returnflag    char(1)        NOT NULL,
>     l_linestatus    char(1)        NOT NULL,
>     l_shipdate      bigint         NOT NULL,
>     l_commitdate    bigint         NOT NULL,
>     l_receiptdate   bigint         NOT NULL,
>     l_shipinstruct  char(25)       NOT NULL,
>     l_shipmode      char(10)       NOT NULL,
>     l_comment       varchar(44)    NOT NULL,
>     PRIMARY KEY (l_orderkey, l_linenumber)
> );
> CREATE INDEX l_ok ON lineitem (l_orderkey ASC);
> CREATE INDEX l_pk ON lineitem (l_partkey ASC);
> CREATE INDEX l_sk ON lineitem (l_suppkey ASC);
> CREATE INDEX l_sd ON lineitem (l_shipdate ASC);
> CREATE INDEX l_cd ON lineitem (l_commitdate ASC);
> CREATE INDEX l_rd ON lineitem (l_receiptdate ASC); {code}
> with Batch Size:    128
> got exception
> {code:java}
> [ERROR] 2022-04-01 13:01:26,367 [Thread-2]  com.oltpbenchmark.api.Loader loadTable - class org.apache.ignite.client.IgniteClientException: readerIndex: 0, writerIndex: 16385 (expected: 0 <= readerIndex <= writerIndex <= capacity(16384))
> java.util.concurrent.CompletionException: class org.apache.ignite.client.IgniteClientException: readerIndex: 0, writerIndex: 16385 (expected: 0 <= readerIndex <= writerIndex <= capacity(16384))
>     at java.base/java.util.concurrent.CompletableFuture.reportJoin(CompletableFuture.java:413)
>     at java.base/java.util.concurrent.CompletableFuture.join(CompletableFuture.java:2118)
>     at org.apache.ignite.internal.jdbc.JdbcPreparedStatement.executeBatch(JdbcPreparedStatement.java:118)
>     at com.oltpbenchmark.benchmarks.tpch.TPCHLoader.loadTable(TPCHLoader.java:533)
>     at com.oltpbenchmark.benchmarks.tpch.TPCHLoader$9.load(TPCHLoader.java:389)
>     at com.oltpbenchmark.api.LoaderThread.run(LoaderThread.java:45)
>     at com.oltpbenchmark.util.ThreadUtil$LatchRunnable.run(ThreadUtil.java:145)
>     at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
>     at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
>     at java.base/java.lang.Thread.run(Thread.java:833)
> Caused by: class org.apache.ignite.client.IgniteClientException: readerIndex: 0, writerIndex: 16385 (expected: 0 <= readerIndex <= writerIndex <= capacity(16384))
>     at org.apache.ignite.internal.client.TcpClientChannel.convertException(TcpClientChannel.java:241)
>     at org.apache.ignite.internal.client.TcpClientChannel.send(TcpClientChannel.java:197)
>     at org.apache.ignite.internal.client.TcpClientChannel.serviceAsync(TcpClientChannel.java:143)
>     at org.apache.ignite.internal.client.ReliableChannel.handleServiceAsync(ReliableChannel.java:188)
>     at org.apache.ignite.internal.client.ReliableChannel.serviceAsync(ReliableChannel.java:144)
>     at org.apache.ignite.internal.client.TcpIgniteClient.sendRequestAsync(TcpIgniteClient.java:152)
>     at org.apache.ignite.internal.client.query.JdbcClientQueryEventHandler.batchPrepStatementAsync(JdbcClientQueryEventHandler.java:89)
>     ... 8 more
> Caused by: java.lang.IndexOutOfBoundsException: readerIndex: 0, writerIndex: 16385 (expected: 0 <= readerIndex <= writerIndex <= capacity(16384))
>     at io.netty.buffer.AbstractByteBuf.checkIndexBounds(AbstractByteBuf.java:112)
>     at io.netty.buffer.AbstractByteBuf.writerIndex(AbstractByteBuf.java:135)
>     at org.apache.ignite.internal.client.proto.ClientMessagePacker.packString(ClientMessagePacker.java:295)
>     at org.apache.ignite.internal.client.proto.ClientMessagePacker.packObjectArray(ClientMessagePacker.java:836)
>     at org.apache.ignite.client.proto.query.event.BatchPreparedStmntRequest.writeBinary(BatchPreparedStmntRequest.java:100)
>     at org.apache.ignite.internal.client.TcpIgniteClient.lambda$sendRequestAsync$1(TcpIgniteClient.java:152)
>     at org.apache.ignite.internal.client.TcpClientChannel.send(TcpClientChannel.java:182)
>     ... 13 more {code}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)