You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
When I query result in remote server, I set rule which not allow current login user to access remote cluter.
In Remote server(node1392928786390) , it returns response: com.orientechnologies.orient.core.exception.OSecurityAccessException: User 'testadmin1' has no the permission to execute the operation 'Read' against the resource: database.cluster.*, which is correct. I run console in (node1392928786389), the result should be the same as no access to cluster but what I got is another exception.
orientdb {pharos}> select from bodyAngle where user = #11:1379 limit 10
Error: com.orientechnologies.orient.core.exception.OStorageException: Cannot route COMMAND operation to the distributed node
Error: java.lang.ClassCastException: com.orientechnologies.orient.core.exception.OSecurityAccessException cannot be cast to java.util.Collection
Following are the exception stack log :
com.orientechnologies.orient.core.exception.OSecurityAccessException cannot be cast to java.util.Collection
-> com.orientechnologies.orient.server.distributed.ODistributedStorage.command(ODistributedStorage.java:281)
-> com.orientechnologies.orient.core.sql.query.OSQLQuery.run(OSQLQuery.java:69)
-> com.orientechnologies.orient.core.sql.query.OSQLSynchQuery.run(OSQLSynchQuery.java:80)
-> com.orientechnologies.orient.core.query.OQueryAbstract.execute(OQueryAbstract.java:29)
-> com.orientechnologies.orient.server.network.protocol.binary.ONetworkProtocolBinary.command(ONetworkProtocolBinary.java:1181)
-> com.orientechnologies.orient.server.network.protocol.binary.ONetworkProtocolBinary.executeRequest(ONetworkProtocolBinary.java:340)
-> com.orientechnologies.orient.server.network.protocol.binary.OBinaryNetworkProtocolAbstract.execute(OBinaryNetworkProtocolAbstract.java:169)
-> com.orientechnologies.common.thread.OSoftThread.run(OSoftThread.java:45)
I do a debug, in my case node1392928786389 is local node which I send request by console, node1392928786390 is remote node. Response from node1392928786389 is ok, but for node1392928786390 actually is exception string.
In class ODistributedStorage.java, function command(final OCommandRequestText iCommand), line 281, the result expect to be a collection object, it remote node return other format will throw class cast exception.
Following are debug info for (Map<String, Object>) result.
{node1392928786389=com.orientechnologies.orient.core.sql.query.OResultSet@1, node1392928786390=com.orientechnologies.orient.core.exception.OSecurityAccessException: User 'testadmin1' has no the permission to execute the operation 'Read' against the resource: database.cluster.*}
The text was updated successfully, but these errors were encountered:
I am using 1.7.6 under distributed mode,
When I query result in remote server, I set rule which not allow current login user to access remote cluter.
In Remote server(node1392928786390) , it returns response: com.orientechnologies.orient.core.exception.OSecurityAccessException: User 'testadmin1' has no the permission to execute the operation 'Read' against the resource: database.cluster.*, which is correct. I run console in (node1392928786389), the result should be the same as no access to cluster but what I got is another exception.
orientdb {pharos}> select from bodyAngle where user = #11:1379 limit 10
Error: com.orientechnologies.orient.core.exception.OStorageException: Cannot route COMMAND operation to the distributed node
Error: java.lang.ClassCastException: com.orientechnologies.orient.core.exception.OSecurityAccessException cannot be cast to java.util.Collection
Following are the exception stack log :
com.orientechnologies.orient.core.exception.OSecurityAccessException cannot be cast to java.util.Collection
-> com.orientechnologies.orient.server.distributed.ODistributedStorage.command(ODistributedStorage.java:281)
-> com.orientechnologies.orient.core.sql.query.OSQLQuery.run(OSQLQuery.java:69)
-> com.orientechnologies.orient.core.sql.query.OSQLSynchQuery.run(OSQLSynchQuery.java:80)
-> com.orientechnologies.orient.core.query.OQueryAbstract.execute(OQueryAbstract.java:29)
-> com.orientechnologies.orient.server.network.protocol.binary.ONetworkProtocolBinary.command(ONetworkProtocolBinary.java:1181)
-> com.orientechnologies.orient.server.network.protocol.binary.ONetworkProtocolBinary.executeRequest(ONetworkProtocolBinary.java:340)
-> com.orientechnologies.orient.server.network.protocol.binary.OBinaryNetworkProtocolAbstract.execute(OBinaryNetworkProtocolAbstract.java:169)
-> com.orientechnologies.common.thread.OSoftThread.run(OSoftThread.java:45)
I do a debug, in my case node1392928786389 is local node which I send request by console, node1392928786390 is remote node. Response from node1392928786389 is ok, but for node1392928786390 actually is exception string.
In class ODistributedStorage.java, function command(final OCommandRequestText iCommand), line 281, the result expect to be a collection object, it remote node return other format will throw class cast exception.
Following are debug info for (Map<String, Object>) result.
{node1392928786389=com.orientechnologies.orient.core.sql.query.OResultSet@1, node1392928786390=com.orientechnologies.orient.core.exception.OSecurityAccessException: User 'testadmin1' has no the permission to execute the operation 'Read' against the resource: database.cluster.*}
The text was updated successfully, but these errors were encountered: