Hello! You can use the experimental --meta commands of control.sh available from 2.9 onwards: https://issues.apache.org/jira/browse/IGNITE-13154
The ticket documents the process to some detail. Regards, -- Ilya Kasnacheev чт, 1 апр. 2021 г. в 18:40, 38797715 <[email protected]>: > Hello Ilya, > > Our approach is not to empty binary_meta directory, because if you empty > this directory, the data of all tables may be lost. > We use the cat *.bin file to find the specific bin file of a table, and > then delete it on all nodes. After this operation, the following error > appears. > We don't want to lose all the data. It's acceptable to rebuild only one > table. > > ------------------ 原始邮件 ------------------ > *发件人:* "user" <[email protected]>; > *发送时间:* 2021年4月1日(星期四) 晚上11:24 > *收件人:* "user"<[email protected]>; > *主题:* Re: [2.10]Binary type has different affinity key fields > > 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 <[email protected]>: > >> 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 >> >
