ignite-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Ilya Kasnacheev <ilya.kasnach...@gmail.com>
Subject Re: [2.10]Binary type has different affinity key fields
Date Thu, 01 Apr 2021 15:24:12 GMT
Hello!

I guess you have to wipe this directory on all nodes, including clients. If
any caches contain old instances of this class, drop the caches before
restart.

Regards,
-- 
Ilya Kasnacheev


чт, 1 апр. 2021 г. в 08:03, 38797715 <38797715@qq.com>:

> Hello,
> Ignite turns on native persistence,3 nodes.
> We changed the name of the table primary key (unexpected operation), as
> follows:
>
> CREATE TABLE WORKSPACE (
>     NAME VARCHAR,
>     WORKSPACEID VARCHAR,
>     PRIMARY KEY (WORKSPACEID)
> ) WITH "template=cache-replicated, cache_name=Workspace,
> key_type=WorkspaceKey,value_type=Workspace";
>
> INSERT ....
>
> DROP TABLE WORKSPACE
>
> then:
>
> CREATE TABLE WORKSPACE (
>     NAME VARCHAR,
>     ID VARCHAR,
>     PRIMARY KEY (ID)
> ) WITH "template=cache-replicated, cache_name=Workspace,
> key_type=WorkspaceKey,value_type=Workspace";
>
> At this time, you will find that the data cannot be written (affinitykey
> conflict error).
>
> Next, delete the file in the binary_meta directory.
>
> At this time, start a client node, and the following error will be thrown:
>
> What I want to ask is, is there a recommended standard operation procedure
> for such an operation error to make the cluster return to normal?
> Caused by: org.springframework.beans.BeanInstantiationException: Failed
> to instantiate [org.apache.ignite.Ignite]: Factory method 'ignite' threw
> exception; nested exception is class
> org.apache.ignite.IgniteCheckedException: New binary metadata is
> incompatible with binary metadata persisted locally. Consider cleaning up
> persisted metadata from <workDir>/db/binary_meta directory.
> at
> org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:185)
> ~[spring-beans-5.2.9.RELEASE.jar!/:5.2.9.RELEASE]
> at
> org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:650)
> ~[spring-beans-5.2.9.RELEASE.jar!/:5.2.9.RELEASE]
> ... 44 common frames omitted
> Caused by: org.apache.ignite.IgniteCheckedException: New binary metadata
> is incompatible with binary metadata persisted locally. Consider cleaning
> up persisted metadata from <workDir>/db/binary_meta directory.
> at org.apache.ignite.internal.IgniteKernal.start(IgniteKernal.java:1455)
> ~[ignite-core-2.10.0.jar!/:2.10.0]
> at
> org.apache.ignite.internal.IgnitionEx$IgniteNamedInstance.start0(IgnitionEx.java:2112)
> ~[ignite-core-2.10.0.jar!/:2.10.0]
> at
> org.apache.ignite.internal.IgnitionEx$IgniteNamedInstance.start(IgnitionEx.java:1758)
> ~[ignite-core-2.10.0.jar!/:2.10.0]
> at org.apache.ignite.internal.IgnitionEx.start0(IgnitionEx.java:1143)
> ~[ignite-core-2.10.0.jar!/:2.10.0]
> at org.apache.ignite.internal.IgnitionEx.start(IgnitionEx.java:641)
> ~[ignite-core-2.10.0.jar!/:2.10.0]
> at org.apache.ignite.IgniteSpring.start(IgniteSpring.java:66)
> ~[ignite-spring-2.10.0.jar!/:2.10.0]
> Caused by: org.apache.ignite.binary.BinaryObjectException: New binary
> metadata is incompatible with binary metadata persisted locally. Consider
> cleaning up persisted metadata from <workDir>/db/binary_meta directory.
> at
> org.apache.ignite.internal.processors.cache.binary.CacheObjectBinaryProcessorImpl.addMetaLocally(CacheObjectBinaryProcessorImpl.java:698)
> ~[ignite-core-2.10.0.jar!/:2.10.0]
> at
> org.apache.ignite.internal.processors.cache.binary.CacheObjectBinaryProcessorImpl$1.addMetaLocally(CacheObjectBinaryProcessorImpl.java:297)
> ~[ignite-core-2.10.0.jar!/:2.10.0]
> at
> org.apache.ignite.internal.binary.BinaryContext.registerUserClassDescriptor(BinaryContext.java:826)
> ~[ignite-core-2.10.0.jar!/:2.10.0]
> at
> org.apache.ignite.internal.binary.BinaryContext.registerDescriptor(BinaryContext.java:784)
> ~[ignite-core-2.10.0.jar!/:2.10.0]
> at
> org.apache.ignite.internal.binary.BinaryContext.registerClass(BinaryContext.java:581)
> ~[ignite-core-2.10.0.jar!/:2.10.0]
> at
> org.apache.ignite.internal.processors.query.GridQueryProcessor.registerTypeLocally(GridQueryProcessor.java:1284)
> ~[ignite-core-2.10.0.jar!/:2.10.0]
> at
> org.apache.ignite.internal.processors.query.GridQueryProcessor.registerBinaryMetadata(GridQueryProcessor.java:1181)
> ~[ignite-core-2.10.0.jar!/:2.10.0]
> at
> org.apache.ignite.internal.processors.query.GridQueryProcessor.registerMetadataForRegisteredCaches(GridQueryProcessor.java:1143)
> ~[ignite-core-2.10.0.jar!/:2.10.0]
> at
> org.apache.ignite.internal.processors.query.GridQueryProcessor.onCacheKernalStart(GridQueryProcessor.java:330)
> ~[ignite-core-2.10.0.jar!/:2.10.0]
> at
> org.apache.ignite.internal.processors.cache.GridCacheProcessor.onKernalStart(GridCacheProcessor.java:677)
> ~[ignite-core-2.10.0.jar!/:2.10.0]
> at org.apache.ignite.internal.IgniteKernal.start(IgniteKernal.java:1407)
> ~[ignite-core-2.10.0.jar!/:2.10.0]
> ... 61 common frames omitted
> Caused by: org.apache.ignite.binary.BinaryObjectException: Binary type
> has different affinity key fields [typeName=WorkspaceKey,
> affKeyFieldName1=ID, affKeyFieldName2=null]
> at
> org.apache.ignite.internal.binary.BinaryUtils.mergeMetadata(BinaryUtils.java:999)
> ~[ignite-core-2.10.0.jar!/:2.10.0]
> at
> org.apache.ignite.internal.binary.BinaryUtils.mergeMetadata(BinaryUtils.java:959)
> ~[ignite-core-2.10.0.jar!/:2.10.0]
> at
> org.apache.ignite.internal.processors.cache.binary.CacheObjectBinaryProcessorImpl.addMetaLocally(CacheObjectBinaryProcessorImpl.java:690)
> ~[ignite-core-2.10.0.jar!/:2.10.0]
> ... 71 common frames omitted
>

Mime
View raw message