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

2020-05-19 Thread Mikhail Petrov (Jira)


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

Mikhail Petrov commented on IGNITE-12833:
-

[IGNITE-12579|https://issues.apache.org/jira/browse/IGNITE-12579] and 
[IGNITE-12759|https://issues.apache.org/jira/browse/IGNITE-12759] patches solve 
the described  problem completely.

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


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

2020-04-17 Thread Taras Ledkov (Jira)


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

Taras Ledkov commented on IGNITE-12833:
---

Looks like the patch IGNITE-12759 must fix the issue.

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


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

2020-03-25 Thread Veena Mithare (Jira)


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


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

2020-03-25 Thread Ilya Kasnacheev (Jira)


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

Ilya Kasnacheev commented on IGNITE-12833:
--

Is it a blocker for 2.8.1? Do you have a stand-alone reproducer?

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