Here is my insert  code.




BinaryObjectBuilder builder = 
ignite.binary().builder("com.inspur.edp.caf.db.dbaccess.DynamicResultRow");

Map<Object, BinaryObject> datasBinary = new HashMap<>();
IgniteDataStreamer stmr = ignite.dataStreamer("TBDATA_GLFY_1");
......
......

for(int i = 0; i < meta.length; i++){
   builder.setField(meta[i], value[i]);
}

PubPartionKeys_1_7 pubPartionKeys_1_7 = new PubPartionKeys_1_7(
"cf2d3d93-df0f-dd8d-8038-bac8b54b2042",
"01bc29a3-e82a-a1f2-1afe-ba732910ed72",
"202100102",
"6a4b352a-f5c7-56c6-dfa8-ed501a87d982",
"DA65A696-8C7B-4899-B9D6-85A3F07CD11A",
"aaaeb252-b562-2242-10de-4d6d419f6d56",
"516e4ea5-cb28-37e1-b3ce-439d640370b6");
datasBinary.put(pubPartionKeys_1_7, builder.build());
      stmr.addData(datasBinary);

      stmr.flush();
stmr.close();

在 2022-04-05 16:56:25,"Vasily A. Laktionov" <vasilylaktio...@gmail.com> 写道:

Hi,
It seems we have solved that problem.
We need to see your code where you insert data via BinaryObject and SQL both.


сб, 2 апр. 2022 г. в 12:51, y <hty1994...@163.com>:

Hi Igniters:


First, I use custom primary key classes and BinaryObject to insert several 
pieces of data. And then, when I use the INSERT statement to insert data, the 
following error occurs:


Suppressed: class org.apache.ignite.IgniteCheckedException: Failed to update 
keys on primary node.
at 
org.apache.ignite.internal.processors.cache.distributed.dht.atomic.UpdateErrors.addFailedKeys(UpdateErrors.java:124)
at 
org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridNearAtomicUpdateResponse.addFailedKeys(GridNearAtomicUpdateResponse.java:340)
at 
org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDhtAtomicCache.updateAllAsyncInternal0(GridDhtAtomicCache.java:1918)
... 37 more
Suppressed: class org.apache.ignite.binary.BinaryObjectException: Failed to get 
field because type ID of passed object differs from type ID this BinaryField 
belongs to [expected=[typeId=-181945856, 
typeName=com.inspur.edp.qdp.config.api.ketype.PubPartionKeys_1_7], 
actual=[typeId=1324872999, 
typeName=com.inspur.edp.qdp.config.keytype.PubPartionKeys_1_7], 
fieldId=-435253668, fieldName=TBDATA_DX01, fieldType=null] at 
org.apache.ignite.internal.binary.BinaryFieldImpl.fieldOrder(BinaryFieldImpl.java:302)
at 
org.apache.ignite.internal.binary.BinaryFieldImpl.value(BinaryFieldImpl.java:110)
at 
org.apache.ignite.internal.processors.query.property.QueryBinaryProperty.fieldValue(QueryBinaryProperty.java:223)
at 
org.apache.ignite.internal.processors.query.property.QueryBinaryProperty.value(QueryBinaryProperty.java:120)
at 
org.apache.ignite.internal.processors.query.h2.opt.GridH2RowDescriptor.columnValue(GridH2RowDescriptor.java:235)
at 
org.apache.ignite.internal.processors.query.h2.index.QueryIndexRowHandler.getKey(QueryIndexRowHandler.java:110)
at 
org.apache.ignite.internal.processors.query.h2.index.QueryIndexRowHandler.indexKey(QueryIndexRowHandler.java:73)
at 
org.apache.ignite.internal.cache.query.index.sorted.IndexRowImpl.key(IndexRowImpl.java:68)
at 
org.apache.ignite.internal.cache.query.index.sorted.inline.InlineIndexImpl.onUpdate(InlineIndexImpl.java:248)
at 
org.apache.ignite.internal.cache.query.index.IndexProcessor.updateIndex(IndexProcessor.java:452)
at 
org.apache.ignite.internal.cache.query.index.IndexProcessor.updateIndexes(IndexProcessor.java:295)
at 
org.apache.ignite.internal.cache.query.index.IndexProcessor.store(IndexProcessor.java:142)
at 
org.apache.ignite.internal.processors.query.GridQueryProcessor.store(GridQueryProcessor.java:2549)
at 
org.apache.ignite.internal.processors.cache.query.GridCacheQueryManager.store(GridCacheQueryManager.java:422)
at 
org.apache.ignite.internal.processors.cache.IgniteCacheOffheapManagerImpl$CacheDataStoreImpl.finishUpdate(IgniteCacheOffheapManagerImpl.java:2666)
at 
org.apache.ignite.internal.processors.cache.IgniteCacheOffheapManagerImpl$CacheDataStoreImpl.invoke0(IgniteCacheOffheapManagerImpl.java:1742)
at 
org.apache.ignite.internal.processors.cache.IgniteCacheOffheapManagerImpl$CacheDataStoreImpl.invoke(IgniteCacheOffheapManagerImpl.java:1717)
at 
org.apache.ignite.internal.processors.cache.IgniteCacheOffheapManagerImpl.invoke(IgniteCacheOffheapManagerImpl.java:441)
at 
org.apache.ignite.internal.processors.cache.GridCacheMapEntry.innerUpdate(GridCacheMapEntry.java:2327)
at 
org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDhtAtomicCache.updateSingle(GridDhtAtomicCache.java:2553)
at 
org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDhtAtomicCache.update(GridDhtAtomicCache.java:2016)
at 
org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDhtAtomicCache.updateAllAsyncInternal0(GridDhtAtomicCache.java:1833)


Who knows why?Thanks!
Hty,
2022/04/02







 





--

С наилучшими пожеланиями,
Василий А. Лактионов
vasilylaktio...@gmail.com

Reply via email to