[jira] [Commented] (IGNITE-6627) .NET: cache deserialization fails with complex value type & enum
[ https://issues.apache.org/jira/browse/IGNITE-6627?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16210789#comment-16210789 ] ASF GitHub Bot commented on IGNITE-6627: Github user asfgit closed the pull request at: https://github.com/apache/ignite/pull/2876 > .NET: cache deserialization fails with complex value type & enum > > > Key: IGNITE-6627 > URL: https://issues.apache.org/jira/browse/IGNITE-6627 > Project: Ignite > Issue Type: Bug > Components: platforms >Affects Versions: 2.2 >Reporter: Alexey Popov >Assignee: Pavel Tupitsyn > Labels: .NET > Fix For: 2.4 > > > There is an deserialization issue with complex structure. > Please see the sample code below: > {noformat} > public enum SampleEnum : byte > { > One = 0, > Two = 1, > Three = 2 > } > {noformat} > {noformat} > var cache = ignite.GetOrCreateCacheDictionary >>("mySampleCache"); > cache.Put("DictData", Dict); > var result = cache.Get("DictData"); > {noformat} > var result = cache.Get("DictData"); fails with exception: > {"The constructor to deserialize an object of type > 'System.Collections.Generic.ObjectEqualityComparer`1[SampleProject.SampleEnum]' > was not found."} > If we change > Dictionary > > to > Dictionary > > then everything works fine -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (IGNITE-6627) .NET: cache deserialization fails with complex value type & enum
[ https://issues.apache.org/jira/browse/IGNITE-6627?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16210788#comment-16210788 ] Pavel Tupitsyn commented on IGNITE-6627: Repeated known metadata update fixed, merged to master: {{92cbc6b33dd936de2163bf1ec340c2c9f567e039}}. > .NET: cache deserialization fails with complex value type & enum > > > Key: IGNITE-6627 > URL: https://issues.apache.org/jira/browse/IGNITE-6627 > Project: Ignite > Issue Type: Bug > Components: platforms >Affects Versions: 2.2 >Reporter: Alexey Popov >Assignee: Pavel Tupitsyn > Labels: .NET > Fix For: 2.4 > > > There is an deserialization issue with complex structure. > Please see the sample code below: > {noformat} > public enum SampleEnum : byte > { > One = 0, > Two = 1, > Three = 2 > } > {noformat} > {noformat} > var cache = ignite.GetOrCreateCacheDictionary >>("mySampleCache"); > cache.Put("DictData", Dict); > var result = cache.Get("DictData"); > {noformat} > var result = cache.Get("DictData"); fails with exception: > {"The constructor to deserialize an object of type > 'System.Collections.Generic.ObjectEqualityComparer`1[SampleProject.SampleEnum]' > was not found."} > If we change > Dictionary > > to > Dictionary > > then everything works fine -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (IGNITE-6627) .NET: cache deserialization fails with complex value type & enum
[ https://issues.apache.org/jira/browse/IGNITE-6627?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16209295#comment-16209295 ] ASF GitHub Bot commented on IGNITE-6627: GitHub user ptupitsyn opened a pull request: https://github.com/apache/ignite/pull/2876 IGNITE-6627 .NET: Fix repeated known metadata updates Previous commit has broken the BinaryStructureTracker optimization You can merge this pull request into a Git repository by running: $ git pull https://github.com/ptupitsyn/ignite ignite-6627-1 Alternatively you can review and apply these changes as the patch at: https://github.com/apache/ignite/pull/2876.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 #2876 commit d3c4a3e61a32343aeee012c1b751a96b490fb1bc Author: Pavel TupitsynDate: 2017-10-18T13:03:48Z IGNITE-6627 .NET: Fix structure tracker optimization > .NET: cache deserialization fails with complex value type & enum > > > Key: IGNITE-6627 > URL: https://issues.apache.org/jira/browse/IGNITE-6627 > Project: Ignite > Issue Type: Bug > Components: cache, platforms >Affects Versions: 2.2 >Reporter: Alexey Popov >Assignee: Pavel Tupitsyn > Labels: .NET > Fix For: 2.4 > > > There is an deserialization issue with complex structure. > Please see the sample code below: > {noformat} > public enum SampleEnum : byte > { > One = 0, > Two = 1, > Three = 2 > } > {noformat} > {noformat} > var cache = ignite.GetOrCreateCache Dictionary >>("mySampleCache"); > cache.Put("DictData", Dict); > var result = cache.Get("DictData"); > {noformat} > var result = cache.Get("DictData"); fails with exception: > {"The constructor to deserialize an object of type > 'System.Collections.Generic.ObjectEqualityComparer`1[SampleProject.SampleEnum]' > was not found."} > If we change > Dictionary > > to > Dictionary > > then everything works fine -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (IGNITE-6627) .NET: cache deserialization fails with complex value type & enum
[ https://issues.apache.org/jira/browse/IGNITE-6627?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16207528#comment-16207528 ] Pavel Tupitsyn commented on IGNITE-6627: Looks good to me. Merged to master: {{93bf555a98c472ff7028a641b32ef5d8ba8df7cd}}. Great job, [~alexey.tank2]. > .NET: cache deserialization fails with complex value type & enum > > > Key: IGNITE-6627 > URL: https://issues.apache.org/jira/browse/IGNITE-6627 > Project: Ignite > Issue Type: Bug > Components: cache, platforms >Affects Versions: 2.2 >Reporter: Alexey Popov >Assignee: Alexey Popov > Labels: .NET > Fix For: 2.4 > > > There is an deserialization issue with complex structure. > Please see the sample code below: > {noformat} > public enum SampleEnum : byte > { > One = 0, > Two = 1, > Three = 2 > } > {noformat} > {noformat} > var cache = ignite.GetOrCreateCacheDictionary >>("mySampleCache"); > cache.Put("DictData", Dict); > var result = cache.Get("DictData"); > {noformat} > var result = cache.Get("DictData"); fails with exception: > {"The constructor to deserialize an object of type > 'System.Collections.Generic.ObjectEqualityComparer`1[SampleProject.SampleEnum]' > was not found."} > If we change > Dictionary > > to > Dictionary > > then everything works fine -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (IGNITE-6627) .NET: cache deserialization fails with complex value type & enum
[ https://issues.apache.org/jira/browse/IGNITE-6627?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16207529#comment-16207529 ] ASF GitHub Bot commented on IGNITE-6627: Github user asfgit closed the pull request at: https://github.com/apache/ignite/pull/2864 > .NET: cache deserialization fails with complex value type & enum > > > Key: IGNITE-6627 > URL: https://issues.apache.org/jira/browse/IGNITE-6627 > Project: Ignite > Issue Type: Bug > Components: cache, platforms >Affects Versions: 2.2 >Reporter: Alexey Popov >Assignee: Alexey Popov > Labels: .NET > Fix For: 2.4 > > > There is an deserialization issue with complex structure. > Please see the sample code below: > {noformat} > public enum SampleEnum : byte > { > One = 0, > Two = 1, > Three = 2 > } > {noformat} > {noformat} > var cache = ignite.GetOrCreateCacheDictionary >>("mySampleCache"); > cache.Put("DictData", Dict); > var result = cache.Get("DictData"); > {noformat} > var result = cache.Get("DictData"); fails with exception: > {"The constructor to deserialize an object of type > 'System.Collections.Generic.ObjectEqualityComparer`1[SampleProject.SampleEnum]' > was not found."} > If we change > Dictionary > > to > Dictionary > > then everything works fine -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (IGNITE-6627) .NET: cache deserialization fails with complex value type & enum
[ https://issues.apache.org/jira/browse/IGNITE-6627?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16206119#comment-16206119 ] ASF GitHub Bot commented on IGNITE-6627: GitHub user apopovgg opened a pull request: https://github.com/apache/ignite/pull/2864 IGNITE-6627 .NET: cache deserialization fails with complex value type… You can merge this pull request into a Git repository by running: $ git pull https://github.com/gridgain/apache-ignite ignite-6627 Alternatively you can review and apply these changes as the patch at: https://github.com/apache/ignite/pull/2864.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 #2864 commit 80bebfc0752fb75feb8eaea1771fb03ce01429ac Author: apopovDate: 2017-10-16T16:10:16Z IGNITE-6627 .NET: cache deserialization fails with complex value type & enum > .NET: cache deserialization fails with complex value type & enum > > > Key: IGNITE-6627 > URL: https://issues.apache.org/jira/browse/IGNITE-6627 > Project: Ignite > Issue Type: Bug > Components: platforms >Affects Versions: 2.2 >Reporter: Alexey Popov >Assignee: Alexey Popov > Labels: .NET > Fix For: 2.4 > > > There is an deserialization issue with complex structure. > Please see the sample code below: > {noformat} > public enum SampleEnum : byte > { > One = 0, > Two = 1, > Three = 2 > } > {noformat} > {noformat} > var cache = ignite.GetOrCreateCache Dictionary >>("mySampleCache"); > cache.Put("DictData", Dict); > var result = cache.Get("DictData"); > {noformat} > var result = cache.Get("DictData"); fails with exception: > {"The constructor to deserialize an object of type > 'System.Collections.Generic.ObjectEqualityComparer`1[SampleProject.SampleEnum]' > was not found."} > If we change > Dictionary > > to > Dictionary > > then everything works fine -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (IGNITE-6627) .NET: cache deserialization fails with complex value type & enum
[ https://issues.apache.org/jira/browse/IGNITE-6627?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16206116#comment-16206116 ] Alexey Popov commented on IGNITE-6627: -- There are 3 actual fixes here: 1. Type EnumEqualityComparer`1 serialization issue: its object type ObjectEqualityComparer`1 is not ISerializable and should not be serialized. Some explanation could be found here http://dotnetstudio.blogspot.ru/2012/06/net-35-to-net-40-enum.html 2. HashSet and other generic collection deserialization issue for enum arrays: object array was not casted to enum array 3. EmptyObject serialization issues: typeid of such object were not passed to Grid (BinaryProcessor) Several tests were added for all issues. [~ptupitsyn] please review the changes > .NET: cache deserialization fails with complex value type & enum > > > Key: IGNITE-6627 > URL: https://issues.apache.org/jira/browse/IGNITE-6627 > Project: Ignite > Issue Type: Bug > Components: platforms >Affects Versions: 2.2 >Reporter: Alexey Popov >Assignee: Alexey Popov > Labels: .NET > Fix For: 2.4 > > > There is an deserialization issue with complex structure. > Please see the sample code below: > {noformat} > public enum SampleEnum : byte > { > One = 0, > Two = 1, > Three = 2 > } > {noformat} > {noformat} > var cache = ignite.GetOrCreateCacheDictionary >>("mySampleCache"); > cache.Put("DictData", Dict); > var result = cache.Get("DictData"); > {noformat} > var result = cache.Get("DictData"); fails with exception: > {"The constructor to deserialize an object of type > 'System.Collections.Generic.ObjectEqualityComparer`1[SampleProject.SampleEnum]' > was not found."} > If we change > Dictionary > > to > Dictionary > > then everything works fine -- This message was sent by Atlassian JIRA (v6.4.14#64029)