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)