You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Luchnikov Alexander (Jira)" <ji...@apache.org> on 2022/05/13 10:22:00 UTC
[jira] [Updated] (IGNITE-16649) .NET: Missing binary schema when field is removed
[ 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)