[ https://issues.apache.org/jira/browse/IGNITE-5795?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16716728#comment-16716728 ]
ASF GitHub Bot commented on IGNITE-5795: ---------------------------------------- GitHub user akalash opened a pull request: https://github.com/apache/ignite/pull/5634 IGNITE-5795 Binary metadata is registered during start of cache You can merge this pull request into a Git repository by running: $ git pull https://github.com/gridgain/apache-ignite ignite-5795-2 Alternatively you can review and apply these changes as the patch at: https://github.com/apache/ignite/pull/5634.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 #5634 ---- commit 1a54bc1bb721626441ff2d19c988660bf913ec67 Author: Anton Kalashnikov <kaa.dev@...> Date: 2018-09-27T12:19:33Z IGNITE-5795 Binary metadata is registered during start of cache commit aa3ec6954f642d128412d9c437fe391e8681fbfb Author: Anton Kalashnikov <kaa.dev@...> Date: 2018-09-28T07:45:50Z IGNITE-5795 Set schema to null during registerUserClassDescriptor commit 2f48ba31d24eaa8342f6064bf23811fdffb6f6f4 Author: Anton Kalashnikov <kaa.dev@...> Date: 2018-09-28T12:45:20Z IGNITE-5795 null check for keyClass commit 510f3f0cb1274258cb3b176472e17194edb2ae60 Author: Anton Kalashnikov <kaa.dev@...> Date: 2018-10-01T08:46:09Z IGNITE-5795 Chage type of test ValueClass commit a98072b97ac10bbf778bbbae720344974a5564de Author: Anton Kalashnikov <kaa.dev@...> Date: 2018-10-01T12:39:09Z IGNITE-5795 QueryField migrated to Long commit 9aaad2e46af305998d6c0c773fc4d5bd672256ac Author: Anton Kalashnikov <kaa.dev@...> Date: 2018-10-01T12:39:43Z Merge branch 'master' into ignite-5795-2 commit f94174429cec93b7f96c7cd648c27a248662abdf Author: Anton Kalashnikov <kaa.dev@...> Date: 2018-10-15T06:19:50Z Merge branch 'master' into ignite-5795-2 commit 03da3546ceecaac87dc2db3cd995a4b8f3fcd743 Author: Anton Kalashnikov <kaa.dev@...> Date: 2018-10-17T11:52:52Z IGNITE-5795 fixed minor code style commit 27d5f7b3c73edd310163f601bdd61ff603b2996a Author: Anton Kalashnikov <kaa.dev@...> Date: 2018-12-11T09:48:52Z Merge branch 'master' into ignite-5795-2 # Conflicts: # modules/core/src/main/java/org/apache/ignite/internal/IgniteKernal.java # modules/core/src/main/java/org/apache/ignite/internal/processors/query/GridQueryProcessor.java commit 17f44d4b2f7a4e62d604cdc1a1233270013fdfc2 Author: Anton Kalashnikov <kaa.dev@...> Date: 2018-10-22T11:36:50Z IGNITE-5795 Complete cache start future with error if register metadata was failed commit cc908db0afa780cd1f4efc0e177775698a666a3f Author: Anton Kalashnikov <kaa.dev@...> Date: 2018-10-23T11:43:44Z IGNITE-5795 returned super.beforeTestsStarted commit f4b1fec782c3f732ac95cea4ec835998503d5be1 Author: Anton Kalashnikov <kaa.dev@...> Date: 2018-12-11T09:59:21Z IGNITE-5795 added stopAllGrids where needed ---- > Binary metadata is not registered during start of cache > ------------------------------------------------------- > > Key: IGNITE-5795 > URL: https://issues.apache.org/jira/browse/IGNITE-5795 > Project: Ignite > Issue Type: Bug > Components: sql > Affects Versions: 2.0 > Reporter: Dmitry Karachentsev > Assignee: Anton Kalashnikov > Priority: Major > Labels: usability > Fix For: 2.8 > > > When cache configured with QueryEntity and used key type with > @AffinityKeyMapped field, it will be ignored and wrong partition calculated. > This happens because QueryEntity processing precedes key type registering in > binary meta cache. On that step > CacheObjectBinaryProcessorImpl#affinityKeyField called and unable to resolve > type, so null returned and null putted in affKeyFields. > On next put/get operation CacheObjectBinaryProcessorImpl#affinityKeyField > will return null from affKeyFields, but should be affinity key field. > Test that reproduces problem in [PR > 2330|https://github.com/apache/ignite/pull/2330] > To wrorkaround the issue, set IgniteConfiguration#setKeyConfiguration(), it > will force registering key. > *Root cause of this behaviour* is that in during cache registration > registration of metadata doesn't happen. It lead to exchange messages like > (MappingProposedMessage, MetadataRequestMessage etc.) which are often > redundant and also lead to behaviour described above(unhandled > AffinityKeyMapped). > Main idea to fix this problem it is registration of metadata locally in > during cache start on each node without messages exchange. -- This message was sent by Atlassian JIRA (v7.6.3#76005)