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)