[ https://issues.apache.org/jira/browse/IGNITE-6234?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16149073#comment-16149073 ]
ASF GitHub Bot commented on IGNITE-6234: ---------------------------------------- GitHub user sergey-chugunov-1985 opened a pull request: https://github.com/apache/ignite/pull/2566 IGNITE-6234 null check for schemaIds You can merge this pull request into a Git repository by running: $ git pull https://github.com/gridgain/apache-ignite ignite-6234 Alternatively you can review and apply these changes as the patch at: https://github.com/apache/ignite/pull/2566.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #2566 ---- commit 32da9b85a25074a3b7d3e0072cbda3abb75f3f60 Author: Sergey Chugunov <sergey.chugu...@gmail.com> Date: 2017-08-31T14:41:18Z IGNITE-6234 null check for schemaIds ---- > [Test failure] > GridCacheClientModesTcpClientDiscoveryAbstractTest$CaseNearReplicatedTransactional.testGetFromClientNode > ----------------------------------------------------------------------------------------------------------------------- > > Key: IGNITE-6234 > URL: https://issues.apache.org/jira/browse/IGNITE-6234 > Project: Ignite > Issue Type: Bug > Affects Versions: 2.1 > Reporter: Sergey Chugunov > Assignee: Sergey Chugunov > Labels: MakeTeamcityGreenAgain > Fix For: 2.2 > > > Test reproducible locally although with a very low probability. > I wasn't able to reproduce it starting test in isolation but managed to do it > starting *GridCacheClientModesTcpClientDiscoveryAbstractTest* 50 times in a > row observing from 1 to 3 failures. > Test run with failed test is available > [here|https://ci.ignite.apache.org/viewLog.html?buildId=798538&tab=buildResultsDiv&buildTypeId=Ignite20Tests_IgniteCache]. > It seems that when client requests value of custom class from near cache it > may see BinaryMetadata for this class with no schema. > Test fails with the following exception: > {noformat} > java.lang.NullPointerException: null > at > org.apache.ignite.internal.binary.BinaryMetadata.hasSchema(BinaryMetadata.java:189) > at > org.apache.ignite.internal.processors.cache.binary.CacheObjectBinaryProcessorImpl.metadata(CacheObjectBinaryProcessorImpl.java:517) > at > org.apache.ignite.internal.processors.cache.binary.CacheObjectBinaryProcessorImpl$2.metadata(CacheObjectBinaryProcessorImpl.java:185) > at > org.apache.ignite.internal.binary.BinaryContext.metadata(BinaryContext.java:1237) > at > org.apache.ignite.internal.binary.BinaryReaderExImpl.getOrCreateSchema(BinaryReaderExImpl.java:2005) > at > org.apache.ignite.internal.binary.BinaryReaderExImpl.<init>(BinaryReaderExImpl.java:284) > at > org.apache.ignite.internal.binary.BinaryReaderExImpl.<init>(BinaryReaderExImpl.java:183) > at > org.apache.ignite.internal.binary.BinaryObjectImpl.reader(BinaryObjectImpl.java:830) > at > org.apache.ignite.internal.binary.BinaryObjectImpl.deserializeValue(BinaryObjectImpl.java:794) > at > org.apache.ignite.internal.binary.BinaryObjectImpl.value(BinaryObjectImpl.java:143) > at > org.apache.ignite.internal.processors.cache.CacheObjectUtils.unwrapBinary(CacheObjectUtils.java:161) > at > org.apache.ignite.internal.processors.cache.CacheObjectUtils.unwrapBinaryIfNeeded(CacheObjectUtils.java:41) > at > org.apache.ignite.internal.processors.cache.CacheObjectContext.unwrapBinaryIfNeeded(CacheObjectContext.java:125) > at > org.apache.ignite.internal.processors.cache.GridCacheContext.unwrapBinaryIfNeeded(GridCacheContext.java:1734) > at > org.apache.ignite.internal.processors.cache.GridCacheContext.addResult(GridCacheContext.java:1889) > at > org.apache.ignite.internal.processors.cache.GridCacheContext.addResult(GridCacheContext.java:1828) > at > org.apache.ignite.internal.processors.cache.distributed.near.GridNearGetFuture.loadEntries(GridNearGetFuture.java:752) > at > org.apache.ignite.internal.processors.cache.distributed.near.GridNearGetFuture.access$000(GridNearGetFuture.java:68) > at > org.apache.ignite.internal.processors.cache.distributed.near.GridNearGetFuture$MiniFuture.onResult(GridNearGetFuture.java:1012) > at > org.apache.ignite.internal.processors.cache.distributed.near.GridNearGetFuture.onResult(GridNearGetFuture.java:215) > at > org.apache.ignite.internal.processors.cache.distributed.near.GridNearCacheAdapter.processGetResponse(GridNearCacheAdapter.java:294) > at > org.apache.ignite.internal.processors.cache.distributed.near.GridNearTransactionalCache$1.apply(GridNearTransactionalCache.java:92) > at > org.apache.ignite.internal.processors.cache.distributed.near.GridNearTransactionalCache$1.apply(GridNearTransactionalCache.java:90) > at > org.apache.ignite.internal.processors.cache.GridCacheIoManager.processMessage(GridCacheIoManager.java:1060) > at > org.apache.ignite.internal.processors.cache.GridCacheIoManager.onMessage0(GridCacheIoManager.java:579) > at > org.apache.ignite.internal.processors.cache.GridCacheIoManager.handleMessage(GridCacheIoManager.java:378) > at > org.apache.ignite.internal.processors.cache.GridCacheIoManager.handleMessage(GridCacheIoManager.java:304) > at > org.apache.ignite.internal.processors.cache.GridCacheIoManager.access$100(GridCacheIoManager.java:99) > at > org.apache.ignite.internal.processors.cache.GridCacheIoManager$1.onMessage(GridCacheIoManager.java:293) > at > org.apache.ignite.internal.managers.communication.GridIoManager.invokeListener(GridIoManager.java:1556) > at > org.apache.ignite.internal.managers.communication.GridIoManager.processRegularMessage0(GridIoManager.java:1184) > at > org.apache.ignite.internal.managers.communication.GridIoManager.access$4200(GridIoManager.java:126) > at > org.apache.ignite.internal.managers.communication.GridIoManager$9.run(GridIoManager.java:1097) > at > org.apache.ignite.internal.util.StripedExecutor$Stripe.run(StripedExecutor.java:485) > at java.lang.Thread.run(Thread.java:745) > {noformat} > Quick fix: add null check for schemaIds. -- This message was sent by Atlassian JIRA (v6.4.14#64029)