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 >
