Kirill Sizov created IGNITE-22415:
--------------------------------------

             Summary: Exceptions when retrieving table descriptor from the 
latest catalog version
                 Key: IGNITE-22415
                 URL: https://issues.apache.org/jira/browse/IGNITE-22415
             Project: Ignite
          Issue Type: Bug
    Affects Versions: 3.0.0-beta2
            Reporter:  Kirill Sizov


Might happen/happens in a few different places with different stacktraces like 
this:
{noformat}
java.lang.AssertionError: tableId=9, catalogVersion=6
    at 
org.apache.ignite.internal.table.distributed.TableManager.getTableDescriptor(TableManager.java:2936)
    at 
org.apache.ignite.internal.table.distributed.TableManager.setTablesPartitionCountersForRebalance(TableManager.java:2333)
 
    at 
org.apache.ignite.internal.table.distributed.TableManager.lambda$handleChangePendingAssignmentEvent$101(TableManager.java:2204)
 
    at 
java.base/java.util.concurrent.CompletableFuture$UniApply.tryFire(CompletableFuture.java:642)
 ~[?:?]
    at 
java.base/java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:506)
 ~[?:?]
    at 
java.base/java.util.concurrent.CompletableFuture.complete(CompletableFuture.java:2073)
 ~[?:?]
    at 
org.apache.ignite.internal.util.CompletableFutures.lambda$copyStateTo$1(CompletableFutures.java:150)
 
    at 
java.base/java.util.concurrent.CompletableFuture.uniWhenComplete(CompletableFuture.java:859)
 ~[?:?]
    at 
java.base/java.util.concurrent.CompletableFuture.uniWhenCompleteStage(CompletableFuture.java:883)
 ~[?:?]
    at 
java.base/java.util.concurrent.CompletableFuture.whenComplete(CompletableFuture.java:2251)
 ~[?:?]
    at 
org.apache.ignite.internal.causality.BaseVersionedValue.copyState(BaseVersionedValue.java:315)
 
    at 
org.apache.ignite.internal.causality.BaseVersionedValue.complete(BaseVersionedValue.java:201)
 
    at 
org.apache.ignite.internal.causality.IncrementalVersionedValue.lambda$completeInternal$2(IncrementalVersionedValue.java:256)
 
{noformat}

or like this one:
{noformat}
java.lang.NullPointerException: null
        at 
org.apache.ignite.internal.distributionzones.rebalance.DistributionZoneRebalanceEngine.calculateAssignments(DistributionZoneRebalanceEngine.java:366)
 ~[classes/:?]
        at 
org.apache.ignite.internal.distributionzones.rebalance.RebalanceRaftGroupEventsListener.doStableKeySwitch(RebalanceRaftGroupEventsListener.java:408)
 ~[classes/:?]
        at 
org.apache.ignite.internal.distributionzones.rebalance.RebalanceRaftGroupEventsListener.doStableKeySwitch(RebalanceRaftGroupEventsListener.java:556)
 ~[classes/:?]
        at 
org.apache.ignite.internal.distributionzones.rebalance.DistributionZoneRebalanceEngine$3.lambda$onUpdate$0(DistributionZoneRebalanceEngine.java:317)
 ~[classes/:?]
        at java.base/java.util.HashMap.forEach(HashMap.java:1337) ~[?:?]
        at 
org.apache.ignite.internal.distributionzones.rebalance.DistributionZoneRebalanceEngine$3.lambda$onUpdate$1(DistributionZoneRebalanceEngine.java:316)
 ~[classes/:?]
        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:829) [?:?]
{noformat}

Both failures are of the same nature.
It happens when tables and zones are dropped and the zone is altered. 
Such activity triggers the pending assignment change and the table descriptor 
could not be found in the latest version of catalog.

Suggested fix - search for the table and zone in the previous versions of 
catalog.



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

Reply via email to