Alexandr Kuramshin created IGNITE-4632: ------------------------------------------
Summary: AffinityFunction unchecked exception handling (unassigned backup) Key: IGNITE-4632 URL: https://issues.apache.org/jira/browse/IGNITE-4632 Project: Ignite Issue Type: Bug Components: general Affects Versions: 1.8 Reporter: Alexandr Kuramshin Priority: Minor {{AffinityFunction}} implementation may throw unchecked exception upon assignment. In some cases additional processing should be performed when affinity function method invocation throws an exception. Special case when the cache with backups is running, and a node with a primary partition will left. Then we get the primary partition unassigned if {{AffinityFunction.partition(Object)}} throws an exception. My suggestion is to shutdown the node in such the case (like SEGMENTED), because the cluster could not work normally without the primary partition assigned. {noformat} Failed processing message [senderId=8a1ab9a3-786e-4601-ba22-efd380849d99, msg=GridDhtPartitionSupplyMessageV2 [updateSeq=16069, topVer=AffinityTopologyVersion [topVer=7, minorTopVer=0], missed=[16, 17, 33, 22, 56, 10], clean=[0, 1, 2, 34, 3, 5, 7, 9, 45, 46, 49, 18, 50, 55, 25, 26, 58, 29, 61], msgSize=0, size=19, parts=[0, 1, 2, 34, 3, 5, 7, 9, 45, 46, 49, 18, 50, 55, 25, 26, 58, 29, 61], super=GridCacheMessage [msgId=70098615, depInfo=null, err=null, skipPrepare=false, cacheId=-148990687, cacheId=-148990687]]] com.sbt.persistence.exceptions.DPLException: ParticleKeyMapper не может обратывать никаких других объектов кроме ОУ. Системная ошибка - обратитесь в службу технической поддержки DPL at com.sbt.dpl.gridgain.ParticleAffinityFunction.partition(ParticleAffinityFunction.java:67) at org.apache.ignite.internal.processors.cache.GridCacheAffinityManager.partition(GridCacheAffinityManager.java:219) at org.apache.ignite.internal.processors.cache.GridCacheAffinityManager.partition(GridCacheAffinityManager.java:194) at org.apache.ignite.internal.processors.cache.GridCacheAffinityManager.localNode(GridCacheAffinityManager.java:382) at org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionDemander.handleSupplyMessage(GridDhtPartitionDemander.java:680) at org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPreloader.handleSupplyMessage(GridDhtPreloader.java:390) at org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager$5.apply(GridCachePartitionExchangeManager.java:395) at org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager$5.apply(GridCachePartitionExchangeManager.java:385) at org.apache.ignite.internal.processors.cache.GridCacheIoManager.processMessage(GridCacheIoManager.java:758) {noformat} -- This message was sent by Atlassian JIRA (v6.3.15#6346)