You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ignite.apache.org by Denis Magda <dm...@apache.org> on 2018/11/03 02:52:04 UTC
Re: destroy cache holding residual metadata in memory (2.7)
+ dev list
Vladimir, Igniters,
Don't we wipe out the metadata on a cache destroy? Is it an issue or done
on purpose?
--
Denis
On Wed, Oct 31, 2018 at 11:28 AM wt <wa...@gmail.com> wrote:
> i am testing code and part of my tests is adding\removing tables. In one of
> the tests i add a table then destroy it and add it again but with an
> additional column. When i try load the table i am getting a data type
> mismatch and it is referring to the previous version of the table
>
> in the work directory there is a folder for the original table but it is
> empty. here is the error i get when trying to flush the loader. If i stop
> and start ignite then adding the table with the new column data type works
> so there is some residual metadata that isn't being cleaned up by
> destroycache of the client.
>
> Apache.Ignite.Core.Binary.BinaryObjectException
> HResult=0x80131500
> Message=Binary type has different field types
> [typeName=Tables.csvCurrencyRates, fieldName=id, fieldTypeName1=UUID,
> fieldTypeName2=String]
> Source=Apache.Ignite.Core
> StackTrace:
> at Apache.Ignite.Core.Impl.PlatformJniTarget.InStreamOutLong(Int32 type,
> Action`1 writeAction)
> at Apache.Ignite.Core.Impl.PlatformTargetAdapter.DoOutOp(Int32 type,
> Action`1 action)
> at Apache.Ignite.Core.Impl.Binary.Marshaller.FinishMarshal(BinaryWriter
> writer)
> at Apache.Ignite.Core.Impl.PlatformJniTarget.InStreamOutLong(Int32 type,
> Action`1 writeAction)
> at Apache.Ignite.Core.Impl.PlatformTargetAdapter.DoOutOp(Int32 type,
> Action`1 action)
> at Apache.Ignite.Core.Impl.Datastream.DataStreamerImpl`2.Update(Action`1
> action)
> at
>
> Apache.Ignite.Core.Impl.Datastream.DataStreamerBatch`2.Send(DataStreamerImpl`2
> ldr, Int32 plc)
> at
>
> Apache.Ignite.Core.Impl.Datastream.DataStreamerImpl`2.Flush0(DataStreamerBatch`2
> curBatch, Boolean wait, Int32 plc)
> at Apache.Ignite.Core.Impl.Datastream.DataStreamerImpl`2.Flush()
> at ClusterTool.classes.DbProviderCSV.StreamCsvData(List`1 headers,
> String
> tablename, ICsvLine[] lines, Object _class, Type type, IIgnite
> igniteclient,
> Boolean hashashid, CsvNewId csvid) in
> C:\temp\IgniteTool\ClusterTool\classes\DbProviderCSV.cs:line 236
> at ClusterTool.classes.DbProviderCSV.LoadFromCsvFiles(String tablename)
> in C:\temp\IgniteTool\ClusterTool\classes\DbProviderCSV.cs:line 104
> at ClusterTool.DataLoaderForm.<>c__DisplayClass7_0.<Startcsv>b__0() in
> C:\temp\IgniteTool\ClusterTool\DataLoaderForm.cs:line 94
> at System.Threading.ExecutionContext.RunInternal(ExecutionContext
> executionContext, ContextCallback callback, Object state, Boolean
> preserveSyncCtx)
> at System.Threading.ExecutionContext.Run(ExecutionContext
> executionContext, ContextCallback callback, Object state, Boolean
> preserveSyncCtx)
> at System.Threading.ExecutionContext.Run(ExecutionContext
> executionContext, ContextCallback callback, Object state)
> at System.Threading.ThreadHelper.ThreadStart()
>
> Inner Exception 1:
> JavaException: class org.apache.ignite.binary.BinaryObjectException: Binary
> type has different field types [typeName=Tables.csvCurrencyRates,
> fieldName=id, fieldTypeName1=UUID, fieldTypeName2=String]
> at
>
> org.apache.ignite.internal.binary.BinaryUtils.mergeMetadata(BinaryUtils.java:1047)
> at
>
> org.apache.ignite.internal.processors.cache.binary.CacheObjectBinaryProcessorImpl.addMeta(CacheObjectBinaryProcessorImpl.java:480)
> at
>
> org.apache.ignite.internal.processors.cache.binary.CacheObjectBinaryProcessorImpl$2.addMeta(CacheObjectBinaryProcessorImpl.java:207)
> at
>
> org.apache.ignite.internal.binary.BinaryContext.updateMetadata(BinaryContext.java:1332)
> at
>
> org.apache.ignite.internal.processors.platform.PlatformContextImpl.processMetadata(PlatformContextImpl.java:336)
> at
>
> org.apache.ignite.internal.processors.platform.binary.PlatformBinaryProcessor.processInStreamOutLong(PlatformBinaryProcessor.java:70)
> at
>
> org.apache.ignite.internal.processors.platform.PlatformAbstractTarget.processInStreamOutLong(PlatformAbstractTarget.java:87)
> at
>
> org.apache.ignite.internal.processors.platform.PlatformTargetProxyImpl.inStreamOutLong(PlatformTargetProxyImpl.java:67)
>
>
>
>
>
> --
> Sent from: http://apache-ignite-users.70518.x6.nabble.com/
>
Re: destroy cache holding residual metadata in memory (2.7)
Posted by Yakov Zhdanov <yz...@apache.org>.
Wayne, can you please share a reproducer for this problem that can be
launched from IDE?
--Yakov
Re: destroy cache holding residual metadata in memory (2.7)
Posted by Yakov Zhdanov <yz...@apache.org>.
Wayne, can you please share a reproducer for this problem that can be
launched from IDE?
--Yakov