You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Ivan Artiukhov (Jira)" <ji...@apache.org> on 2024/03/28 08:53:00 UTC

[jira] [Created] (IGNITE-21860) DDL operations hang after creating an index

Ivan Artiukhov created IGNITE-21860:
---------------------------------------

             Summary: DDL operations hang after creating an index
                 Key: IGNITE-21860
                 URL: https://issues.apache.org/jira/browse/IGNITE-21860
             Project: Ignite
          Issue Type: Bug
          Components: sql
    Affects Versions: 3.0.0-beta1
            Reporter: Ivan Artiukhov
         Attachments: drop_index_test_ddl.txt

ignite3, rev. ae643bd31f329ac2ce877cc51eaa2c6a1f1a8a21
h1. Setup:
 * 2 server nodes

h1. Test:

A set of DDL operations which creates test tables with different field types, creates an index over one or more fields and then drops the index. See the attached [^drop_index_test_ddl.txt]
h1. Expected result:

The test passes
h1. Actual result:

The test hangs after executing the following set of operations:

 
{noformat}
drop table if exists dropIndexedColumn
create zone if not exists "AIMEM" engine aimem
create table dropIndexedColumn(k1 SMALLINT not null, v0 TINYINT not null, v1 SMALLINT not null, v2 INTEGER not null, v3 BIGINT not null, v4 VARCHAR not null, v5 TIMESTAMP not null, primary key (k1)) with PRIMARY_ZONE='AIMEM'
create index dropIndexedColumn_v1idx on dropIndexedColumn using TREE (v1)
{noformat}
The following error is seen in the log of the first node at this time:

 
{noformat}
2024-03-28 02:42:38:675 +0000 [WARNING][%DropColumnsTest_cluster_0%JRaft-Common-Executor-8][FSMCallerImpl] FSMCaller already in error status, ignore new error
Error [type=ERROR_TYPE_LOG, status=Status[EIO<1014>: Corrupted entry at index=1534, not found]]
    at org.apache.ignite.raft.jraft.storage.impl.LogManagerImpl.reportError(LogManagerImpl.java:595)
    at org.apache.ignite.raft.jraft.storage.impl.LogManagerImpl.getEntry(LogManagerImpl.java:798)
    at org.apache.ignite.raft.jraft.core.Replicator.prepareEntry(Replicator.java:820)
    at org.apache.ignite.raft.jraft.core.Replicator.sendEntries(Replicator.java:1645)
    at org.apache.ignite.raft.jraft.core.Replicator.sendEntries(Replicator.java:1601)
    at org.apache.ignite.raft.jraft.core.Replicator.continueSending(Replicator.java:983)
    at org.apache.ignite.raft.jraft.core.Replicator.lambda$waitMoreEntries$9(Replicator.java:1583)
    at org.apache.ignite.raft.jraft.storage.impl.LogManagerImpl.runOnNewLog(LogManagerImpl.java:1205)
    at org.apache.ignite.raft.jraft.storage.impl.LogManagerImpl.lambda$notifyOnNewLog$9(LogManagerImpl.java:1159)
    at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
    at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
    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)
{noformat}
On the second node:
{noformat}
2024-03-28 02:42:49:143 +0000 [ERROR][%DropColumnsTest_cluster_1%Raft-Group-Client-8][IndexAvailabilityController] Error processing the operation to delete the partition index building key: [indexId=85, partitionId=11]
java.util.concurrent.CompletionException: java.util.concurrent.TimeoutException
    at java.base/java.util.concurrent.CompletableFuture.encodeThrowable(CompletableFuture.java:331)
    at java.base/java.util.concurrent.CompletableFuture.completeThrowable(CompletableFuture.java:346)
    at java.base/java.util.concurrent.CompletableFuture$UniApply.tryFire(CompletableFuture.java:632)
    at java.base/java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:506)
    at java.base/java.util.concurrent.CompletableFuture.completeExceptionally(CompletableFuture.java:2088)
    at org.apache.ignite.internal.raft.RaftGroupServiceImpl.sendWithRetry(RaftGroupServiceImpl.java:550)
    at org.apache.ignite.internal.raft.RaftGroupServiceImpl.lambda$handleErrorResponse$44(RaftGroupServiceImpl.java:653)
    at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
    at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
    at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304)
    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: java.util.concurrent.TimeoutException
    ... 8 more
{noformat}
After this there is no way to execute the following DDL (it hangs): {{drop table if exists dropNoMoreIndexedColumn}}
h1. Notes:
 * Reproduced only once and only with {{aimem}} storage engine.



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