[ https://issues.apache.org/jira/browse/IGNITE-12322?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Alexander Lapin reassigned IGNITE-12322: ---------------------------------------- Assignee: Alexander Lapin > Changing baseline via set command may cause NPEs if configured NodeFilter > takes node attributes into account > ------------------------------------------------------------------------------------------------------------ > > Key: IGNITE-12322 > URL: https://issues.apache.org/jira/browse/IGNITE-12322 > Project: Ignite > Issue Type: Bug > Reporter: Alexander Lapin > Assignee: Alexander Lapin > Priority: Major > Fix For: 2.8 > > > VisorBaselineTask doesn't allow to add() offline baseline node, but allows to > set() collection of nodes where at least one is offline and doesn’t belong to > current BLT. > We should prohibit passing offline nodes to setBaselineTopology(…) (in case > they are not part of current BLT): otherwise we won't be able to calculate > affinity in case NodeFilter is configured. > {code:java} > 2019-07-16 13:38:01.658 ERROR 16507 --- [exchange-worker-#165] > .c.d.d.p.GridDhtPartitionsExchangeFuture : Failed to reinitialize local > partitions (rebalancing will be stopped): GridDhtPartitionExchangeId > [topVer=AffinityTopologyVersion [topVer=481, minorTopVer=1], > discoEvt=DiscoveryEvent [evtNode=TcpDiscoveryNode > [id=e53b5aca-9432-4cbe-9626-da480b86d417, addrs=ArrayList [10.12.85.13, > 127.0.0.1], sockAddrs=HashSet [lpposput50143.phx.aexp.com/10.12.85.13:47550, > /127.0.0.1:47550], discPort=47550, order=288, intOrder=148, > lastExchangeTime=1563309481590, loc=true, ver=2.5.7#20190326-sha1:b45b8438, > isClient=false], topVer=481, nodeId8=e53b5aca, msg=null, > type=DISCOVERY_CUSTOM_EVT, tstamp=1563309481580]DiscoveryCustomEvent > [customMsg=ChangeGlobalStateMessage > [id=bb76b94db61-f4fff892-04f6-4153-9210-1a19749fec35, > reqId=1b5cae87-ad46-4d62-8525-bc1a5015b0d8, > initiatingNodeId=e53b5aca-9432-4cbe-9626-da480b86d417, activate=true, > baselineTopology=BaselineTopology [id=3, branchingHash=-1403071463, > branchingType='New BaselineTopology', > baselineNodes=[/dev/shm/ignite/storagepath/lpposput50142.phx.aexp.com, > /dev/shm/ignite/storagepath/lpposput50143.phx.aexp.com, > /dev/shm/ignite/storagepath/lpposput50133.phx.aexp.com, > /dev/shm/ignite/storagepath/lpposput50134.phx.aexp.com, > /dev/shm/ignite/storagepath/lpposput50141.phx.aexp.com, > /dev/shm/ignite/storagepath/lpposput50140.phx.aexp.com]], > forceChangeBaselineTopology=true, timestamp=1563309481551], > affTopVer=AffinityTopologyVersion [topVer=481, minorTopVer=1], super=], > nodeId=e53b5aca, evt=DISCOVERY_CUSTOM_EVT] > java.lang.NullPointerException: null > at > org.apache.ignite.internal.cluster.DetachedClusterNode.attribute(DetachedClusterNode.java:69) > ~[ignite-core-2.5.7.jar!/:2.5.7] > at com.aexp.rc.ignite.CacheNodeFilter.apply(CacheNodeFilter.java:14) > ~[classes!/:0.1.0-SNAPSHOT] > at com.aexp.rc.ignite.CacheNodeFilter.apply(CacheNodeFilter.java:6) > ~[classes!/:0.1.0-SNAPSHOT] > at > org.apache.ignite.internal.processors.cache.GridCacheUtils.affinityNode(GridCacheUtils.java:1362) > ~[ignite-core-2.5.7.jar!/:2.5.7] > at > org.apache.ignite.internal.processors.cluster.BaselineTopology.createBaselineView(BaselineTopology.java:331) > ~[ignite-core-2.5.7.jar!/:2.5.7] > at > org.apache.ignite.internal.processors.affinity.GridAffinityAssignmentCache.calculate(GridAffinityAssignmentCache.java:347) > ~[ignite-core-2.5.7.jar!/:2.5.7] > at > org.apache.ignite.internal.processors.cache.CacheAffinitySharedManager$15.applyx(CacheAffinitySharedManager.java:1899) > ~[ignite-core-2.5.7.jar!/:2.5.7] > at > org.apache.ignite.internal.processors.cache.CacheAffinitySharedManager$15.applyx(CacheAffinitySharedManager.java:1895) > ~[ignite-core-2.5.7.jar!/:2.5.7] > at > org.apache.ignite.internal.processors.cache.CacheAffinitySharedManager.lambda$forAllRegisteredCacheGroups$e0a6939d$1(CacheAffinitySharedManager.java:1268) > ~[ignite-core-2.5.7.jar!/:2.5.7] > at > org.apache.ignite.internal.util.IgniteUtils.lambda$null$1(IgniteUtils.java:10529) > ~[ignite-core-2.5.7.jar!/:2.5.7] > at java.util.concurrent.FutureTask.run(FutureTask.java:266) > ~[na:1.8.0_161] > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) > ~[na:1.8.0_161] > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) > ~[na:1.8.0_161] > at java.lang.Thread.run(Thread.java:748) [na:1.8.0_161] > Suppressed: java.lang.NullPointerException: null > ... 14 common frames omitted > Suppressed: java.lang.NullPointerException: null > ... 14 common frames omitted > Suppressed: java.lang.NullPointerException: null > ... 14 common frames omitted > Suppressed: java.lang.NullPointerException: null > ... 14 common frames omitted > Suppressed: java.lang.NullPointerException: null > ... 14 common frames omitted > Suppressed: java.lang.NullPointerException: null > at > org.apache.ignite.internal.cluster.DetachedClusterNode.attribute(DetachedClusterNode.java:69) > ~[ignite-core-2.5.7.jar!/:2.5.7] > at > com.aexp.rc.ignite.CacheNodeFilter.apply(CacheNodeFilter.java:14) > ~[classes!/:0.1.0-SNAPSHOT] > at > com.aexp.rc.ignite.CacheNodeFilter.apply(CacheNodeFilter.java:6) > ~[classes!/:0.1.0-SNAPSHOT] > at > org.apache.ignite.internal.processors.cache.GridCacheUtils.affinityNode(GridCacheUtils.java:1362) > ~[ignite-core-2.5.7.jar!/:2.5.7] > at > org.apache.ignite.internal.processors.cluster.BaselineTopology.createBaselineView(BaselineTopology.java:331) > ~[ignite-core-2.5.7.jar!/:2.5.7] > at > org.apache.ignite.internal.processors.affinity.GridAffinityAssignmentCache.calculate(GridAffinityAssignmentCache.java:347) > ~[ignite-core-2.5.7.jar!/:2.5.7] > at > org.apache.ignite.internal.processors.cache.CacheAffinitySharedManager$15.applyx(CacheAffinitySharedManager.java:1899) > ~[ignite-core-2.5.7.jar!/:2.5.7] > at > org.apache.ignite.internal.processors.cache.CacheAffinitySharedManager$15.applyx(CacheAffinitySharedManager.java:1895) > ~[ignite-core-2.5.7.jar!/:2.5.7] > at > org.apache.ignite.internal.processors.cache.CacheAffinitySharedManager.lambda$forAllRegisteredCacheGroups$e0a6939d$1(CacheAffinitySharedManager.java:1268) > ~[ignite-core-2.5.7.jar!/:2.5.7] > at > org.apache.ignite.internal.util.IgniteUtils.doInParallel(IgniteUtils.java:10548) > ~[ignite-core-2.5.7.jar!/:2.5.7] > at > org.apache.ignite.internal.util.IgniteUtils.doInParallel(IgniteUtils.java:10471) > ~[ignite-core-2.5.7.jar!/:2.5.7] > at > org.apache.ignite.internal.processors.cache.CacheAffinitySharedManager.forAllRegisteredCacheGroups(CacheAffinitySharedManager.java:1267) > ~[ignite-core-2.5.7.jar!/:2.5.7] > at > org.apache.ignite.internal.processors.cache.CacheAffinitySharedManager.onCentralizedAffinityChange(CacheAffinitySharedManager.java:1895) > ~[ignite-core-2.5.7.jar!/:2.5.7] > at > org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture.init(GridDhtPartitionsExchangeFuture.java:760) > ~[ignite-core-2.5.7.jar!/:2.5.7] > at > org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager$ExchangeWorker.body0(GridCachePartitionExchangeManager.java:2825) > [ignite-core-2.5.7.jar!/:2.5.7] > at > org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager$ExchangeWorker.body(GridCachePartitionExchangeManager.java:2682) > [ignite-core-2.5.7.jar!/:2.5.7] > at > org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java:110) > [ignite-core-2.5.7.jar!/:2.5.7] > ... 1 common frames omitted > {code} -- This message was sent by Atlassian Jira (v8.3.4#803005)