Nikolay Izhikov created IGNITE-15358: ----------------------------------------
Summary: Client node can't reconnect to cluster with security enabled. Key: IGNITE-15358 URL: https://issues.apache.org/jira/browse/IGNITE-15358 Project: Ignite Issue Type: Improvement Reporter: Nikolay Izhikov After IGNITE-15101 client node can't reconnect to the cluster because node id changed on the disconnect but security processor continues to use old node id. {code:java} public class ClientReconnectTest extends GridCommonAbstractTest { /** {@inheritDoc} */ @Override protected IgniteConfiguration getConfiguration(String igniteInstanceName) throws Exception { return super.getConfiguration(igniteInstanceName).setPluginProviders(new TestReconnectSecurityPluginProvider() { /** {@inheritDoc} */ @Override protected GridSecurityProcessor securityProcessor(GridKernalContext ctx) { return new TestReconnectProcessor(ctx) { @Override public SecurityContext securityContext(UUID subjId) { if (ctx.localNodeId().equals(subjId)) return ctx.security().securityContext(); throw new IgniteException( "Unexpected subjId[subjId=" + subjId + ",localNodeId=" + ctx.localNodeId() + ']' ); } @Override public SecurityContext authenticateNode(ClusterNode node, SecurityCredentials cred) { return new TestSecurityContext(new TestSecuritySubject(node.id())); } }; } }); } /** {@inheritDoc} */ @Override protected void beforeTest() throws Exception { super.beforeTest(); cleanPersistenceDir(); } /** */ @Test public void testClientNodeReconnected() throws Exception { IgniteEx ignite = startGrids(2); ignite.cluster().state(ClusterState.ACTIVE); int clientIdx = 2; IgniteEx ex = startClientGrid(clientIdx); CountDownLatch latch = new CountDownLatch(1); ex.events().localListen(evt -> { latch.countDown(); return true; }, EVT_CLIENT_NODE_RECONNECTED); DiscoverySpi discoverySpi = ignite(0).configuration().getDiscoverySpi(); discoverySpi.failNode(nodeId(clientIdx), null); assertTrue(latch.await(getTestTimeout(), TimeUnit.MILLISECONDS)); } } {code} -- This message was sent by Atlassian Jira (v8.3.4#803005)