You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Alexander Lapin (Jira)" <ji...@apache.org> on 2019/10/22 15:11:00 UTC
[jira] [Created] (IGNITE-12322) Changing baseline via set command
may cause NPEs if configured NodeFilter takes node attributes into account
Alexander Lapin created IGNITE-12322:
----------------------------------------
Summary: 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
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)