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)

Reply via email to