[ 
https://issues.apache.org/jira/browse/IGNITE-12833?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17066562#comment-17066562
 ] 

Veena Mithare commented on IGNITE-12833:
----------------------------------------

[^ConversationWithDenisOnSelectHangs.txt]

HI Ilya, 

It is a blocker for 2.8.0 . We cannot use 2.8.0 because the selects/inserts on 
dbeaver hangs when security is enabled.

It is easy to reproduce this. Please  use a security enabled project, enable 
security and do a select on any table on dbeaver, the select hangs. I have 
given the details on why it hangs as well in the description of the ticket.

 

I am also attaching a conversation I had with [~garus.d.g] ,

 

regards,

Veena.

 

> 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: 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)

Reply via email to