[ 
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)

Reply via email to