Andrey Khitrin created IGNITE-22169:
---------------------------------------

             Summary: RocbsRB: NPE on index creation
                 Key: IGNITE-22169
                 URL: https://issues.apache.org/jira/browse/IGNITE-22169
             Project: Ignite
          Issue Type: Bug
          Components: persistence
    Affects Versions: 3.0.0-beta2
            Reporter: Andrey Khitrin


Steps to reproduce:

1. Start a single 1-node cluster of AI3
2. Create a table in RocksDB storage:
{code:sql}
create zone if not exists "ROCKSDB" with storage_profiles='default_rocksdb';
create table table_8214(id INTEGER not null, int_field_1 INTEGER not null, 
str_field_1 VARCHAR(50) not null, primary key (id)) with PRIMARY_ZONE='ROCKSDB';
{code}
3. Try to create an index on this table:
{code:sql}
create index temp on table_8214 using SORTED (int_field_1);
{code}

Expected result: an index is created successfully (the same actions work on 
ai3persist).
Actual result: index not created, no response from server to client (query 
"hangs"), NPE in AI3 log:

{code}
2024-05-06 12:11:17:567 +0500 
[INFO][%DeleteFromWhereTests_cluster_0%metastorage-watch-executor-3][IndexManager]
 Creating local index: name=TABLE_8214_PK, id=9, tableId=8, token=23
2024-05-06 12:11:17:585 +0500 
[INFO][%DeleteFromWhereTests_cluster_0%metastorage-watch-executor-3][TableManager]
 Assignments calculated from data nodes [table=TABLE_8214, tableId=8, 
assignments= 
[0=[],1=[],2=[],3=[],4=[],5=[],6=[],7=[],8=[],9=[],10=[],11=[],12=[],13=[],14=[],15=[],16=[],17=[],18=[],19=[],20=[],21=[],22=[],23=[],24=[]],
 revision=23]
2024-05-06 12:11:17:592 +0500 
[WARNING][%DeleteFromWhereTests_cluster_0%tableManager-io-0][CatalogManagerImpl]
 Failed to apply catalog update.
java.util.concurrent.CompletionException: java.lang.NullPointerException
        at 
java.base/java.util.concurrent.CompletableFuture.encodeThrowable(CompletableFuture.java:331)
        at 
java.base/java.util.concurrent.CompletableFuture.uniApplyNow(CompletableFuture.java:670)
        at 
java.base/java.util.concurrent.CompletableFuture.uniApplyStage(CompletableFuture.java:658)
        at 
java.base/java.util.concurrent.CompletableFuture.thenApply(CompletableFuture.java:2094)
        at 
org.apache.ignite.internal.table.distributed.TableManager.onTableCreate(TableManager.java:689)
        at 
org.apache.ignite.internal.table.distributed.TableManager.lambda$start$2(TableManager.java:613)
        at 
org.apache.ignite.internal.event.AbstractEventProducer.fireEvent(AbstractEventProducer.java:88)
        at 
org.apache.ignite.internal.catalog.CatalogManagerImpl.access$000(CatalogManagerImpl.java:83)
        at 
org.apache.ignite.internal.catalog.CatalogManagerImpl$OnUpdateHandlerImpl.handle(CatalogManagerImpl.java:534)
        at 
org.apache.ignite.internal.catalog.CatalogManagerImpl$OnUpdateHandlerImpl.handle(CatalogManagerImpl.java:501)
        at 
org.apache.ignite.internal.catalog.storage.UpdateLogImpl$UpdateListener.onUpdate(UpdateLogImpl.java:308)
        at 
org.apache.ignite.internal.metastorage.server.Watch.onUpdate(Watch.java:67)
        at 
org.apache.ignite.internal.metastorage.server.WatchProcessor.notifyWatches(WatchProcessor.java:233)
        at 
org.apache.ignite.internal.metastorage.server.WatchProcessor.lambda$notifyWatches$3(WatchProcessor.java:181)
        at 
java.base/java.util.concurrent.CompletableFuture$UniCompose.tryFire(CompletableFuture.java:1072)
        at 
java.base/java.util.concurrent.CompletableFuture$Completion.run(CompletableFuture.java:478)
        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:829)
Caused by: java.lang.NullPointerException
        at 
java.base/java.util.ImmutableCollections$MapN.probe(ImmutableCollections.java:956)
        at 
java.base/java.util.ImmutableCollections$MapN.get(ImmutableCollections.java:876)
        at 
org.apache.ignite.internal.storage.DataStorageManager.engineByStorageProfile(DataStorageManager.java:84)
        at 
org.apache.ignite.internal.table.distributed.TableManager.createTableStorage(TableManager.java:1450)
        at 
org.apache.ignite.internal.table.distributed.TableManager.createTableLocally(TableManager.java:1313)
        at 
org.apache.ignite.internal.table.distributed.TableManager.lambda$createTableLocally$48(TableManager.java:1281)
        at 
org.apache.ignite.internal.util.IgniteUtils.inBusyLockAsync(IgniteUtils.java:889)
        at 
org.apache.ignite.internal.table.distributed.TableManager.createTableLocally(TableManager.java:1265)
        at 
org.apache.ignite.internal.table.distributed.TableManager.onTableCreate(TableManager.java:688)
        ... 14 more
2024-05-06 12:11:17:592 +0500 
[INFO][%DeleteFromWhereTests_cluster_0%JRaft-FSMCaller-Disruptor-metastorage_stripe_0-0][TableManager]
 Assignments calculated from data nodes are successfully written to meta 
storage [tableId=8, assignments= 
[0=[],1=[],2=[],3=[],4=[],5=[],6=[],7=[],8=[],9=[],10=[],11=[],12=[],13=[],14=[],15=[],16=[],17=[],18=[],19=[],20=[],21=[],22=[],23=[],24=[]]].
2024-05-06 12:11:17:594 +0500 
[ERROR][%DeleteFromWhereTests_cluster_0%tableManager-io-0][FailureProcessor] 
Critical system error detected. Will be handled accordingly to configured 
handler [hnd=NoOpFailureHandler [], failureCtx=FailureContext 
[type=CRITICAL_ERROR, err=java.lang.NullPointerException]]
java.lang.NullPointerException
        at 
java.base/java.util.ImmutableCollections$MapN.probe(ImmutableCollections.java:956)
        at 
java.base/java.util.ImmutableCollections$MapN.get(ImmutableCollections.java:876)
        at 
org.apache.ignite.internal.storage.DataStorageManager.engineByStorageProfile(DataStorageManager.java:84)
        at 
org.apache.ignite.internal.table.distributed.TableManager.createTableStorage(TableManager.java:1450)
        at 
org.apache.ignite.internal.table.distributed.TableManager.createTableLocally(TableManager.java:1313)
        at 
org.apache.ignite.internal.table.distributed.TableManager.lambda$createTableLocally$48(TableManager.java:1281)
        at 
org.apache.ignite.internal.util.IgniteUtils.inBusyLockAsync(IgniteUtils.java:889)
        at 
org.apache.ignite.internal.table.distributed.TableManager.createTableLocally(TableManager.java:1265)
        at 
org.apache.ignite.internal.table.distributed.TableManager.onTableCreate(TableManager.java:688)
        at 
org.apache.ignite.internal.table.distributed.TableManager.lambda$start$2(TableManager.java:613)
        at 
org.apache.ignite.internal.event.AbstractEventProducer.fireEvent(AbstractEventProducer.java:88)
        at 
org.apache.ignite.internal.catalog.CatalogManagerImpl.access$000(CatalogManagerImpl.java:83)
        at 
org.apache.ignite.internal.catalog.CatalogManagerImpl$OnUpdateHandlerImpl.handle(CatalogManagerImpl.java:534)
        at 
org.apache.ignite.internal.catalog.CatalogManagerImpl$OnUpdateHandlerImpl.handle(CatalogManagerImpl.java:501)
        at 
org.apache.ignite.internal.catalog.storage.UpdateLogImpl$UpdateListener.onUpdate(UpdateLogImpl.java:308)
        at 
org.apache.ignite.internal.metastorage.server.Watch.onUpdate(Watch.java:67)
        at 
org.apache.ignite.internal.metastorage.server.WatchProcessor.notifyWatches(WatchProcessor.java:233)
        at 
org.apache.ignite.internal.metastorage.server.WatchProcessor.lambda$notifyWatches$3(WatchProcessor.java:181)
        at 
java.base/java.util.concurrent.CompletableFuture$UniCompose.tryFire(CompletableFuture.java:1072)
        at 
java.base/java.util.concurrent.CompletableFuture$Completion.run(CompletableFuture.java:478)
        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:829)
{code}

Found on commit 654a11a4a00919ce2b3ff4ca0e59e83377124dea (recent AI3 at the 
time).



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

Reply via email to