Hi Sergey, As I see, with turned on authentication, Services require cluster to be activated before deployment. With excluding servicesConfiguration from IgniteConfiguration and below lines your example would start:
Ignite ignite = Ignition.start(config); ignite.cluster().state(ClusterState.ACTIVE); ignite.services().deploy(serviceConfiguration); чт, 18 нояб. 2021 г. в 07:39, Sergey Korotkov <serge.korot...@gmail.com>: > Hello, > > We run into the problem migrating from Ignite version 2.8.1 to 2.11.0 > > If the authentication is enabled the ignite service which is deployed at > node startup prevents it from starting with the 'Security context isn't > certain' exception. > > We have prepared a simple test reproducing the problem. It works fine > with 2.8.1 and 2.10.0 but fails with 2.11.0. > > To run the test unzip the package and run as > > mvn clean package exec:java -Dignite.version=2.8.1 // works > fine - node starts > > mvn clean package exec:java -Dignite.version=2.10.0 // works fine > - node starts > > mvn clean package exec:java -Dignite.version=2.11.0 // error - > node doesn't start > > Would you please help? > > The following stack trace is logged: > > class org.apache.ignite.plugin.security.SecurityException: Security > context isn't certain. > at > > org.apache.ignite.internal.processors.security.SecurityUtils.nodeSecurityContext(SecurityUtils.java:157) > at > > org.apache.ignite.internal.processors.security.IgniteSecurityProcessor.localSecurityContext(IgniteSecurityProcessor.java:376) > at > > java.lang.ThreadLocal$SuppliedThreadLocal.initialValue(ThreadLocal.java:284) > at java.lang.ThreadLocal.setInitialValue(ThreadLocal.java:180) > at java.lang.ThreadLocal.get(ThreadLocal.java:170) > at > > org.apache.ignite.internal.processors.security.IgniteSecurityProcessor.authorize(IgniteSecurityProcessor.java:203) > at > > org.apache.ignite.internal.processors.service.IgniteServiceProcessor.checkPermissions(IgniteServiceProcessor.java:630) > at > > org.apache.ignite.internal.processors.service.IgniteServiceProcessor.prepareServiceConfigurations(IgniteServiceProcessor.java:590) > at > > org.apache.ignite.internal.processors.service.IgniteServiceProcessor.staticallyConfiguredServices(IgniteServiceProcessor.java:1547) > at > > org.apache.ignite.internal.processors.service.IgniteServiceProcessor.collectJoiningNodeData(IgniteServiceProcessor.java:358) > at > > org.apache.ignite.internal.managers.discovery.GridDiscoveryManager$5.collect(GridDiscoveryManager.java:898) > at > > org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi.collectExchangeData(TcpDiscoverySpi.java:2140) > at > > org.apache.ignite.spi.discovery.tcp.ServerImpl.joinTopology(ServerImpl.java:1106) > at > > org.apache.ignite.spi.discovery.tcp.ServerImpl.spiStart(ServerImpl.java:473) > at > > org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi.spiStart(TcpDiscoverySpi.java:2207) > at > > org.apache.ignite.internal.managers.GridManagerAdapter.startSpi(GridManagerAdapter.java:278) > at > > org.apache.ignite.internal.managers.discovery.GridDiscoveryManager.start(GridDiscoveryManager.java:980) > at > > org.apache.ignite.internal.IgniteKernal.startManager(IgniteKernal.java:1985) > at > org.apache.ignite.internal.IgniteKernal.start(IgniteKernal.java:1331) > at > > org.apache.ignite.internal.IgnitionEx$IgniteNamedInstance.start0(IgnitionEx.java:2141) > at > > org.apache.ignite.internal.IgnitionEx$IgniteNamedInstance.start(IgnitionEx.java:1787) > at > org.apache.ignite.internal.IgnitionEx.start0(IgnitionEx.java:1172) > at org.apache.ignite.internal.IgnitionEx.start(IgnitionEx.java:668) > at org.apache.ignite.internal.IgnitionEx.start(IgnitionEx.java:590) > at org.apache.ignite.Ignition.start(Ignition.java:328) > at ServerNode.main(ServerNode.java:28) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) > at > > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > at java.lang.reflect.Method.invoke(Method.java:498) > at org.codehaus.mojo.exec.ExecJavaMojo$1.run(ExecJavaMojo.java:293) > at java.lang.Thread.run(Thread.java:748) > > > Thanks, > > -- > > Sergey > > >