Uploaded image for project: 'Ignite'
  1. Ignite
  2. IGNITE-16780

IndexOutOfBoundException while intensive data loading through jdbc

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Cannot Reproduce
    • None
    • None
    • jdbc
    • Docs Required, Release Notes Required

    Description

      While loading data (TPC-H lineitem)

      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); 

      with Batch Size:    128

      got exception

      [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 

      Attachments

        Activity

          People

            xtern Pavel Pereslegin
            Berkov Alexander Belyak
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: