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/