Veena Mithare created IGNITE-12833: -------------------------------------- Summary: JDBC thin client SELECT hangs under 2.8.0 Key: IGNITE-12833 URL: https://issues.apache.org/jira/browse/IGNITE-12833 Project: Ignite Issue Type: Bug Components: security Affects Versions: 2.8 Reporter: Veena Mithare
| |When security is enabled, and an update or select sql is issued from dbeaver, the security context in class GridIOManager , method -createGridIoMessage - line - ctx.security().securityContext() returns the securitycontext of the thin client. The message generated out of createGridIoMessage is passed on to the next node. This is used in class - IgniteSecurityProcessor method - ( withContext) line - ctx.discovery().node(uuid) on the next node : @Override public OperationSecurityContext withContext(UUID nodeId) { return withContext( secCtxs.computeIfAbsent(nodeId, uuid -> nodeSecurityContext( marsh, U.resolveClassLoader(ctx.config()), ctx.discovery().node(uuid) ) ) ); } The ctx.discovery().node(uuid) used to determine the ClusterNode that is passed into nodeSecurityContext() returns null, since the uuid is that of the remote client id not the remote node id. Hence class: SecurityUtils.java method : nodeSecurityContext line : byte[] subjBytes = node.attribute(IgniteNodeAttributes.ATTR_SECURITY_SUBJECT_V2); Throws null pointer exception since node is null. Related ticket : IGNITE-12579 Related discussion : [http://apache-ignite-users.70518.x6.nabble.com/2-8-0-JDBC-Thin-Client-Unable-to-load-the-tables-via-DBeaver-td31681.html#a31847]| | -- This message was sent by Atlassian Jira (v8.3.4#803005)