Sergei Ryzhov created IGNITE-16019:
--------------------------------------
Summary: With authentication enabled. Failure of a node when
starting the next one with a service in the configuration
Key: IGNITE-16019
URL: https://issues.apache.org/jira/browse/IGNITE-16019
Project: Ignite
Issue Type: Bug
Reporter: Sergei Ryzhov
With authentication enabled
Failure of a node when starting the next one with a service in the configuration
Reproducer
{code:java}
public class ServiceDeployTest extends AbstractSecurityTest {
/** {@inheritDoc} */
@Override protected IgniteConfiguration getConfiguration(String
igniteInstanceName) throws Exception {
IgniteConfiguration cfg = super.getConfiguration(igniteInstanceName);
cfg.setAuthenticationEnabled(true);
cfg.setDataStorageConfiguration(new DataStorageConfiguration()
.setDefaultDataRegionConfiguration(new DataRegionConfiguration()
.setPersistenceEnabled(true)));
ServiceConfiguration srvcCfg = new ServiceConfiguration();
srvcCfg.setName("CounterService");
srvcCfg.setMaxPerNodeCount(1);
srvcCfg.setTotalCount(1);
srvcCfg.setService(new CounterServiceImpl());
cfg.setServiceConfiguration(srvcCfg);
return cfg;
}
/** */
@Test
public void test() throws Exception {
startGrid(0);
startGrid(1);
assertEquals(2, G.allGrids().size());
}
/** {@inheritDoc} */
@Override protected void beforeTest() throws Exception {
super.beforeTest();
cleanPersistenceDir();
}
/** */
public static class CounterServiceImpl implements Service {
/** Is started. */
volatile boolean isStarted = false;
/** Cntr. */
private AtomicInteger cntr = null;
/** {@inheritDoc} */
@Override public void cancel() {
isStarted = false;
}
/** {@inheritDoc} */
@Override public void init() throws Exception {
isStarted = true;
cntr = new AtomicInteger();
}
/** {@inheritDoc} */
@Override public void execute() throws Exception {
while (isStarted) {
cntr.incrementAndGet();
TimeUnit.SECONDS.sleep(1);
}
}
}
}
{code}
ERROR
{code:java}
[2021-11-29
17:20:51,883][ERROR][tcp-disco-msg-worker-[crd]-#3%service.ServiceDeployTest0%-#66%service.ServiceDeployTest0%][IgniteTestResources]
Critical system error detected. Will be handled accordingly to configured
handler [hnd=NoOpFailureHandler [super=AbstractFailureHandler
[ignoredFailureTypes=UnmodifiableSet [SYSTEM_WORKER_BLOCKED,
SYSTEM_CRITICAL_OPERATION_TIMEOUT]]], failureCtx=FailureContext
[type=SYSTEM_WORKER_TERMINATION, err=java.lang.IllegalStateException: Failed to
find security context for subject with given ID :
b9a59be8-3ff5-48b5-bd1e-5927f7a00001]]
java.lang.IllegalStateException: Failed to find security context for subject
with given ID : b9a59be8-3ff5-48b5-bd1e-5927f7a00001
at
org.apache.ignite.internal.processors.security.IgniteSecurityProcessor.withContext(IgniteSecurityProcessor.java:167)
at
org.apache.ignite.internal.processors.service.IgniteServiceProcessor.onJoiningNodeDataReceived(IgniteServiceProcessor.java:379)
at
org.apache.ignite.internal.managers.discovery.GridDiscoveryManager$5.onExchange(GridDiscoveryManager.java:1054)
at
org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi.onExchange(TcpDiscoverySpi.java:2201)
at
org.apache.ignite.spi.discovery.tcp.ServerImpl$RingMessageWorker.processNodeAddedMessage(ServerImpl.java:5116)
at
org.apache.ignite.spi.discovery.tcp.ServerImpl$RingMessageWorker.processJoinRequestMessage(ServerImpl.java:4749)
at
org.apache.ignite.spi.discovery.tcp.ServerImpl$RingMessageWorker.processMessage(ServerImpl.java:3233)
at
org.apache.ignite.spi.discovery.tcp.ServerImpl$RingMessageWorker.processMessage(ServerImpl.java:2920)
at
org.apache.ignite.spi.discovery.tcp.ServerImpl$MessageWorker.body(ServerImpl.java:8106)
at
org.apache.ignite.spi.discovery.tcp.ServerImpl$RingMessageWorker.body(ServerImpl.java:3091)
at
org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java:125)
at
org.apache.ignite.spi.discovery.tcp.ServerImpl$MessageWorkerThread.body(ServerImpl.java:8037)
at org.apache.ignite.spi.IgniteSpiThread.run(IgniteSpiThread.java:58)
{code}
--
This message was sent by Atlassian Jira
(v8.20.1#820001)