[ https://issues.apache.org/jira/browse/IGNITE-9160?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16639887#comment-16639887 ]
Nikolai Kulagin commented on IGNITE-9160: ----------------------------------------- {panel:title=Possible Blockers|borderStyle=dashed|borderColor=#ccc|titleBGColor=#F7D6C1} {color:#d04437}Cache 7 (With Persistence){color} [[tests 1|https://ci.ignite.apache.org/viewLog.html?buildId=2011683]] * IgniteCacheTestSuite7: TxRollbackAsyncWithPersistenceTest.testMixedAsyncRollbackTypes - 0,0% fails in last 100 master runs. {color:#d04437}Cache 6{color} [[tests 2|https://ci.ignite.apache.org/viewLog.html?buildId=2011685]] * IgniteCacheTestSuite6: TxRollbackAsyncNearCacheTest.testMixedAsyncRollbackTypes - 0,0% fails in last 100 master runs. {color:#d04437}PDS 2{color} [[tests 1|https://ci.ignite.apache.org/viewLog.html?buildId=2011687]] * IgnitePdsTestSuite2: IgnitePersistentStoreDataStructuresTest.testSet - 0,0% fails in last 100 master runs. {color:#d04437}PDS (Direct IO) 2{color} [[tests 1|https://ci.ignite.apache.org/viewLog.html?buildId=2011689]] * IgnitePdsNativeIoTestSuite2: IgnitePersistentStoreDataStructuresTest.testSet - 0,0% fails in last 100 master runs. {color:#d04437}_Licenses Headers_{color} [[tests 0 Exit Code |https://ci.ignite.apache.org/viewLog.html?buildId=2012800]] {panel} [TeamCity Run All|http://ci.ignite.apache.org/viewLog.html?buildId=2003703&buildTypeId=IgniteTests24Java8_RunAll] > FindBugs: NPE and CCE on equals() methods > ----------------------------------------- > > Key: IGNITE-9160 > URL: https://issues.apache.org/jira/browse/IGNITE-9160 > Project: Ignite > Issue Type: Bug > Components: cache > Affects Versions: 2.6 > Reporter: Nikolai Kulagin > Assignee: Nikolai Kulagin > Priority: Minor > Labels: newbie > Fix For: 2.8 > > > Some classes have Incorrect equals() method: > {code:java} > // GridDhtPartitionMap.java > @Override public boolean equals(Object o) { > if (this == o) > return true; > GridDhtPartitionMap other = (GridDhtPartitionMap)o; > return other.nodeId.equals(nodeId) && other.updateSeq == updateSeq; > }{code} > In this case, we can get CCE > {code:java} > GridDhtPartitionMap gridDhtPartMap = new GridDhtPartitionMap(); > gridDhtPartMap.equals(new Object()); > -------------------------------------------------------------- > Exception in thread "main" java.lang.ClassCastException: java.lang.Object > cannot be cast to > org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionMap > at > org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionMap.equals(GridDhtPartitionMap.java:319) > at ru.zzzadruga.Ignite.main(Ignite.java:9){code} > Or NPE > {code:java} > GridDhtPartitionMap gridDhtPartMap = new GridDhtPartitionMap(); > gridDhtPartMap.equals(null); > -------------------------------------------------------------- > Exception in thread "main" java.lang.NullPointerException > at > org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionMap.equals(GridDhtPartitionMap.java:321) > at ru.zzzadruga.Ignite.main(Ignite.java:9){code} > The following code will prevent this > {code:java} > if (o == null || getClass() != o.getClass()) > return false;{code} > + List of classes with similar problems: + > * *GridTopic$T1-T8* - NPE > * *GridCachePreloadLifecycleAbstractTest -* NPE > * *GridDhtPartitionFullMap -* NPE and CCE > * *GridDhtPartitionMap -* NPE and CCE > * *OptimizedMarshallerSelfTest -* NPE and CCE > * *GatewayProtectedCacheProxy -* NPE and CCE > * *GridNearOptimisticTxPrepareFuture -* NPE and CCE > * *GridCacheDistributedQueryManager -* NPE and CCE > * *GridServiceMethodReflectKey -* NPE and CCE > * *GridListSetSelfTest -* NPE and CCE > * *GridTestKey -* NPE and CCE > * *GridCacheMvccCandidate -* CCE > * *GridDhtPartitionExchangeId -* CCE > * *GridTuple6 -* CCE -- This message was sent by Atlassian JIRA (v7.6.3#76005)