[
https://issues.apache.org/jira/browse/IGNITE-16649?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Luchnikov Alexander updated IGNITE-16649:
-----------------------------------------
Labels: .NET ise.lts (was: .NET)
> .NET: Missing binary schema when field is removed
> -------------------------------------------------
>
> Key: IGNITE-16649
> URL: https://issues.apache.org/jira/browse/IGNITE-16649
> Project: Ignite
> Issue Type: Bug
> Components: platforms
> Reporter: Ivan Daschinsky
> Assignee: Pavel Tupitsyn
> Priority: Major
> Labels: .NET, ise.lts
> Fix For: 2.13
>
> Attachments: BinaryChangeSchemaTest.cs
>
> Time Spent: 20m
> Remaining Estimate: 0h
>
> When putting IBinarilizable instance with different field set, schema is not
> sent to cluster, leading to failure if another node tries to get value from
> cache.
> {code}
> Apache.Ignite.Core.Binary.BinaryObjectException : Cannot find schema for
> object with compact footer [typeId=-1422440667, schemaId=-935090685]
> at
> Apache.Ignite.Core.Impl.Binary.BinaryObjectSchemaSerializer.GetFieldIds(BinaryObjectHeader
> hdr, IIgniteInternal ignite) in
> /home/ivandasch/Job/ignite-pmdk/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Binary/BinaryObjectSchemaSerializer.cs:line
> 307
> at
> Apache.Ignite.Core.Impl.Binary.BinaryObjectSchemaSerializer.GetFieldIds(BinaryObjectHeader
> hdr, IIgniteInternal ignite, IBinaryStream stream, Int32 objectPos) in
> /home/ivandasch/Job/ignite-pmdk/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Binary/BinaryObjectSchemaSerializer.cs:line
> 262
> at
> Apache.Ignite.Core.Impl.Binary.BinaryReader.SetCurSchema(IBinaryTypeDescriptor
> desc) in
> /home/ivandasch/Job/ignite-pmdk/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Binary/BinaryReader.cs:line
> 803
> at Apache.Ignite.Core.Impl.Binary.BinaryReader.ReadFullObject[T](Int32
> pos, Type typeOverride) in
> /home/ivandasch/Job/ignite-pmdk/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Binary/BinaryReader.cs:line
> 751
> at Apache.Ignite.Core.Impl.Binary.BinaryReader.TryDeserialize[T](T& res,
> Type typeOverride) in
> /home/ivandasch/Job/ignite-pmdk/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Binary/BinaryReader.cs:line
> 577
> at Apache.Ignite.Core.Impl.Binary.BinaryReader.Deserialize[T](Type
> typeOverride) in
> /home/ivandasch/Job/ignite-pmdk/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Binary/BinaryReader.cs:line
> 536
> at Apache.Ignite.Core.Impl.Binary.BinaryReader.ReadBinaryObject[T](Boolean
> doDetach) in
> /home/ivandasch/Job/ignite-pmdk/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Binary/BinaryReader.cs:line
> 635
> at Apache.Ignite.Core.Impl.Binary.BinaryReader.TryDeserialize[T](T& res,
> Type typeOverride) in
> /home/ivandasch/Job/ignite-pmdk/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Binary/BinaryReader.cs:line
> 582
> at Apache.Ignite.Core.Impl.Binary.BinaryReader.Deserialize[T](Type
> typeOverride) in
> /home/ivandasch/Job/ignite-pmdk/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Binary/BinaryReader.cs:line
> 536
> at Apache.Ignite.Core.Impl.Binary.Marshaller.Unmarshal[T](IBinaryStream
> stream, BinaryMode mode, BinaryObjectBuilder builder) in
> /home/ivandasch/Job/ignite-pmdk/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Binary/Marshaller.cs:line
> 295
> at Apache.Ignite.Core.Impl.Binary.Marshaller.Unmarshal[T](IBinaryStream
> stream, Boolean keepBinary) in
> /home/ivandasch/Job/ignite-pmdk/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Binary/Marshaller.cs:line
> 268
> at Apache.Ignite.Core.Impl.Cache.CacheImpl`2.Unmarshal[T](IBinaryStream
> stream) in
> /home/ivandasch/Job/ignite-pmdk/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Cache/CacheImpl.cs:line
> 1750
> at
> Apache.Ignite.Core.Impl.Cache.CacheImpl`2.<>c__DisplayClass146_0.<DoOutInOpNullable>b__1(IBinaryStream
> stream, Int64 res) in
> /home/ivandasch/Job/ignite-pmdk/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Cache/CacheImpl.cs:line
> 1907
> at Apache.Ignite.Core.Impl.PlatformJniTarget.InStreamOutLong[TR](Int32
> type, Func`2 outAction, Func`3 inAction, Func`2 readErrorAction) in
> /home/ivandasch/Job/ignite-pmdk/modules/platforms/dotnet/Apache.Ignite.Core/Impl/PlatformJniTarget.cs:line
> 214
> at Apache.Ignite.Core.Impl.PlatformTargetAdapter.DoOutInOpX[TR](Int32
> type, Action`1 outAction, Func`3 inAction, Func`2 inErrorAction) in
> /home/ivandasch/Job/ignite-pmdk/modules/platforms/dotnet/Apache.Ignite.Core/Impl/PlatformTargetAdapter.cs:line
> 236
> at Apache.Ignite.Core.Impl.Cache.CacheImpl`2.DoOutInOpNullable(CacheOp
> cacheOp, TK x) in
> /home/ivandasch/Job/ignite-pmdk/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Cache/CacheImpl.cs:line
> 1905
> at Apache.Ignite.Core.Impl.Cache.CacheImpl`2.TryGet(TK key, TV& value) in
> /home/ivandasch/Job/ignite-pmdk/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Cache/CacheImpl.cs:line
> 592
> {code}
--
This message was sent by Atlassian Jira
(v8.20.7#820007)