Uploaded image for project: 'Ignite'
  1. Ignite
  2. IGNITE-21859

Causality token stays 0 for default zone

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • 3.0.0-beta1
    • 3.0.0-beta2
    • None

    Description

      We have a problem where if no alter or other action was performed on default zone causality token in CatalogZoneDescriptor will remain 0.
      It will cause an error on any attempt of rebalacing any tables in that zone:

      [2024-03-27T14:27:22,231][ERROR][%icbt_tacwdws_0%rebalance-scheduler-18][DistributionZoneRebalanceEngine] Failed to update stable keys for tables [[TESTTABLE]]
      

      If we will add stacktrace to output we will get following:

      [2024-03-27T14:27:22,231][ERROR][%icbt_tacwdws_0%rebalance-scheduler-13][DistributionZoneRebalanceEngine] CATCH, 
       java.lang.IllegalArgumentException: causalityToken must be greater then zero [causalityToken=0"
      	at org.apache.ignite.internal.distributionzones.causalitydatanodes.CausalityDataNodesEngine.dataNodes(CausalityDataNodesEngine.java:139) ~[ignite-distribution-zones-9.0.127-SNAPSHOT.jar:?]
      	at org.apache.ignite.internal.distributionzones.DistributionZoneManager.dataNodes(DistributionZoneManager.java:324) ~[ignite-distribution-zones-9.0.127-SNAPSHOT.jar:?]
      	at org.apache.ignite.internal.distributionzones.rebalance.DistributionZoneRebalanceEngine.calculateAssignments(DistributionZoneRebalanceEngine.java:346) ~[ignite-distribution-zones-9.0.127-SNAPSHOT.jar:?]
      	at org.apache.ignite.internal.distributionzones.rebalance.RebalanceRaftGroupEventsListener.doStableKeySwitch(RebalanceRaftGroupEventsListener.java:408) ~[ignite-distribution-zones-9.0.127-SNAPSHOT.jar:?]
      	at org.apache.ignite.internal.distributionzones.rebalance.DistributionZoneRebalanceEngine$3.lambda$onUpdate$0(DistributionZoneRebalanceEngine.java:294) ~[ignite-distribution-zones-9.0.127-SNAPSHOT.jar:?]
      	at java.base/java.util.HashMap.forEach(HashMap.java:1337) ~[?:?]
      	at org.apache.ignite.internal.distributionzones.rebalance.DistributionZoneRebalanceEngine$3.lambda$onUpdate$1(DistributionZoneRebalanceEngine.java:293) ~[ignite-distribution-zones-9.0.127-SNAPSHOT.jar:?]
      	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) [?:?]
      

      The workaround is creating a zone and specifying this zone to table.

      Also wouldn't be a bad idea to print stacktrace for "Failed to update stable keys for tables" at least on DEBUG log level.

      Attachments

        Issue Links

          Activity

            People

              korlov Konstantin Orlov
              ivan.zlenko Ivan Zlenko
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Time Tracking

                  Estimated:
                  Original Estimate - Not Specified
                  Not Specified
                  Remaining:
                  Remaining Estimate - 0h
                  0h
                  Logged:
                  Time Spent - 2h 20m
                  2h 20m