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/

Reply via email to