[
https://issues.apache.org/jira/browse/IGNITE-6314?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16164932#comment-16164932
]
Alexander Paschenko edited comment on IGNITE-6314 at 9/13/17 4:49 PM:
----------------------------------------------------------------------
[~vozerov]
Mapper affects {{IgniteCache.get}} behavior by design: when we change mapper,
we change class name in {{BinaryClassDescriptor}} (it ends up lacking package
part) and thus {{IgniteCache.get}} without {{withKeepBinary}} justly fails
(Ignite tries to deserialize object with non-existent class {{City}}).
What can be done: I suggest that upon starting a cache we proactively register
real value type with {{BinaryContext#registerUserClassName}} - if we do so,
then by the time first user operation occurs, cluster will already have class
descriptor with correct (non-trimmed) type name, and id of that descriptor will
match that of descriptor for trimmed type.
However, I believe this should be done in scope of a separate ticket, and for
the current state of things the proposed fix looks like just lesser of evils.
was (Author: al.psc):
[~vozerov]
Mapper affects {{IgniteCache.get}} behavior by design: when we change mapper,
we change class name in {{BinaryClassDescriptor}} (it ends up lacking package
part) and thus {{IgniteCache.get}} without {{withKeepBinary}} justly fails
(Ignite tries to deserialize object with non-existent class {{City}}).
What can be done: I suggest that upon starting a cache we proactively register
real value type with {{BinaryContext#registerUserClassName}} - if we do so,
then by the time first user operation occurs, cluster will already have class
descriptor with correct (non-trimmed) type name, and id of that descriptor will
match that of descriptor for trimmed type.
> Fix ALTER TABLE tests failures
> ------------------------------
>
> Key: IGNITE-6314
> URL: https://issues.apache.org/jira/browse/IGNITE-6314
> Project: Ignite
> Issue Type: Bug
> Components: sql
> Reporter: Sergey Kalashnikov
> Assignee: Alexander Paschenko
> Labels: MakeTeamcityGreenAgain, sql
> Fix For: 2.3
>
>
> The following tests need to be fixed as they are failed when run on TeamCity.
> The tests pass when run locally.
> H2DynamicColumnsClientBasicSelfTest.testAddColumnToNonDynamicCacheWithRealValueType
>
> H2DynamicColumnsClientBasicSelfTest.testComplexOperations
> H2DynamicColumnsServerBasicSelfTest.testAddColumnToNonDynamicCacheWithRealValueType
>
> H2DynamicColumnsServerBasicSelfTest.testComplexOperations
> H2DynamicColumnsServerCoordinatorBasicSelfTest.testAddColumnToNonDynamicCacheWithRealValueType
>
> H2DynamicColumnsServerCoordinatorBasicSelfTest.testComplexOperations
> DynamicColumnsConcurrentAtomicReplicatedSelfTest.testConcurrentRebalance
> DynamicColumnsConcurrentTransactionalReplicatedSelfTest.testConcurrentOperationsAndNodeStartStopMultithreaded
>
> DynamicColumnsConcurrentTransactionalReplicatedSelfTest.testCoordinatorChange
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)