[ 
https://issues.apache.org/jira/browse/IGNITE-22415?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

 Kirill Sizov reassigned IGNITE-22415:
--------------------------------------

    Assignee:  Kirill Sizov

> 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
>            Assignee:  Kirill Sizov
>            Priority: Major
>
> 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