[
https://issues.apache.org/jira/browse/IGNITE-12833?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Veena Mithare updated IGNITE-12833:
-----------------------------------
Attachment: ConversationWithDenisOnSelectHangs.txt
> 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
> Priority: Major
> Labels: iep-41
> Attachments: ConversationWithDenisOnSelectHangs.txt
>
>
> |
> |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)