You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "ASF GitHub Bot (JIRA)" <ji...@apache.org> on 2017/08/08 10:58:01 UTC

[jira] [Commented] (IGNITE-5966) IgniteCache#get() fails with "Requesting mapping from grid failed" when deserialising binary object loaded from CacheJdbcPojoStoreFactory

    [ https://issues.apache.org/jira/browse/IGNITE-5966?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16118185#comment-16118185 ] 

ASF GitHub Bot commented on IGNITE-5966:
----------------------------------------

GitHub user kukushal opened a pull request:

    https://github.com/apache/ignite/pull/2412

    IGNITE-5966 IgniteCache#get() fails with "Requesting mapping from grid failed" when deserialising binary object loaded from CacheJdbcPojoStoreFactory

    

You can merge this pull request into a Git repository by running:

    $ git pull https://github.com/gridgain/apache-ignite ignite-5966

Alternatively you can review and apply these changes as the patch at:

    https://github.com/apache/ignite/pull/2412.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 #2412
    
----
commit 1e08c3fb5c02ec8acafd71b50b6ad3b749259f1a
Author: Andrey V. Mashenkov <an...@gmail.com>
Date:   2017-07-31T11:14:56Z

    IGNITE-4800: Lucene query may fails with NPE. This closes #2315.

commit 3fdf453e89a7bd76dff6b6d0646e3821ea3921d5
Author: Andrey V. Mashenkov <an...@gmail.com>
Date:   2017-07-31T14:32:12Z

    IGNITE-4800: Lucene query may fails with NPE.
    Test fixed.

commit e255a564985a12113984ec02f15a4443495b8ffc
Author: Nikolay Izhikov <ni...@gmail.com>
Date:   2017-08-02T08:52:44Z

    ignite-5712 Context switching for optimistic transactions

commit 772d462b68c7de8517d1f61e2e05ec8eefb18eac
Author: Alexey Kuznetsov <ak...@apache.org>
Date:   2017-08-03T04:55:15Z

    Merge branch ignite-2.1.3 into ignite-2.1.4

commit 0f22223b7ca25313083e4dc35e7842931a655abd
Author: tledkov-gridgain <tl...@gridgain.com>
Date:   2017-08-04T08:46:14Z

    IGNITE-5126: Batch support for this JDBC driver. This closes #2162.

commit d1a74a4be8744528e6ed23706174041ddb0f2618
Author: devozerov <vo...@gridgain.com>
Date:   2017-08-04T09:04:38Z

    Merge remote-tracking branch 'upstream/ignite-2.1.4' into ignite-2.1.4

commit 0b3a9a7176f5ae44a96ecf700c8147193dfbf064
Author: Igor Sapego <is...@gridgain.com>
Date:   2017-08-04T10:18:00Z

    IGNITE-5923: ODBC: SQLGetTypeInfo now works with SQL_ALL_TYPES
    
    (cherry picked from commit 48c914d)

commit 4e0385fbc0f50548f2da3407fdfdfe939b463c67
Author: Igor Sapego <is...@gridgain.com>
Date:   2017-08-04T15:34:27Z

    IGNITE-5939: ODBC: SQLColAttributes now works with legacy attribute codes.
    
    (cherry picked from commit 70ffa2c)

commit 4f02504475fd1e5cc3b9f4754856e44d20fdc1cb
Author: Alexey Kuznetsov <ak...@apache.org>
Date:   2017-08-07T02:41:22Z

    Merge branch ignite-2.1.3 into ignite-2.1.4.

commit 11d7f437455451efe69ac1a757a103454edb6342
Author: Alexey Kukushkin <al...@yahoo.com>
Date:   2017-08-08T10:50:39Z

    fixed

----


> IgniteCache#get() fails with "Requesting mapping from grid failed" when deserialising binary object loaded from CacheJdbcPojoStoreFactory
> -----------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: IGNITE-5966
>                 URL: https://issues.apache.org/jira/browse/IGNITE-5966
>             Project: Ignite
>          Issue Type: Bug
>         Environment: Ignite 2.1.4
>            Reporter: Alexey Kukushkin
>            Assignee: Alexey Kukushkin
>             Fix For: 2.2
>
>
> STEPS TO REPRODUCE
> 1. A running MySQL database with at least one table with an Integer key and some data
> 2. Use WebConsole to automatically generate an Ignite project from the RDBMS. In the WebConsole add a cache for the table containing data
> 3. Build the project
> 4. Start the cluster (run ServerNodeSpringStartup)
> 5. Load the data (run LoadCaches)
> 6. Run simple "get data" code against the running cluster with the data loaded. Make sure you do NOT keep binary and do NOT put anything to the cache except loading data on step #5. For example, if the cache is "AircraftCache", the type is "Aircraft" and a row with ID 1 exists in the DB, then:
> IgniteCache<Integer, Aircraft> aircraftCache = ignite.getOrCreateCache("AircraftCache");
> System.out.format("1->%s\n", aircraftCache.get(1));
> EXPECTED:
> 1...5: Project is generated, cluster runs, data is loaded
> 6: The entry with ID 1 is output to the console
> ACTUAL:"
> 1..5: As expected
> 6: javax.cache.CacheException: class org.apache.ignite.IgniteCheckedException: Requesting mapping from grid failed for [platformId=0, typeId=-1267085398]
> ANALYSIS
> The “typeId -> MappedName” mappings are stored in the MarshallerContextImpl$allCaches[platformId] map.
> My understanding is according to the existing implementations it is expected the mapping will always be registered when BinaryContext#descriptorForClass() -> MarshallerContextImpl#registerClassName(typeId) is called either from BinaryWriterExImpl or BinaryReaderExImpl.
> However, that mechanism is never called when CacheJdbcPojoStore@buildBinaryObject builds the object, calling BinaryObjectBuilderImpl#build(). The latter method still requests BinaryContext#updateMetadata, which updates CacheObjectBinaryProcessorImpl#metadataFileStore on all server nodes. But the metadataFileStore is not the place where MarshallerContextImpl get mappings from.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)