You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Mikhail Petrov (Jira)" <ji...@apache.org> on 2020/05/19 08:13:00 UTC

[jira] [Updated] (IGNITE-12833) JDBC thin client SELECT hangs under 2.8.0

     [ https://issues.apache.org/jira/browse/IGNITE-12833?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Mikhail Petrov updated IGNITE-12833:
------------------------------------
    Fix Version/s: 2.8.1

> 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: jdbc, security
>    Affects Versions: 2.8
>            Reporter: Veena Mithare
>            Priority: Blocker
>              Labels: iep-41
>             Fix For: 2.8.1
>
>         Attachments: JdbcSelectHangsIn2.8.0Mail.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)