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

Ilya Shishkov updated IGNITE-28944:
-----------------------------------
    Attachment:     (was: SecurityBasicPermissionSetSerializationTest.java)

> Refactor SecurityBasicPermissionSet
> -----------------------------------
>
>                 Key: IGNITE-28944
>                 URL: https://issues.apache.org/jira/browse/IGNITE-28944
>             Project: Ignite
>          Issue Type: Task
>            Reporter: Ilya Shishkov
>            Assignee: Ilya Shishkov
>            Priority: Minor
>              Labels: IEP-132, ise
>             Fix For: 2.19
>
>         Attachments: SecurityBasicPermissionSetSerializationTest.java
>
>
> 1) Currently {{#equals}} and {{#hashCode}} will be broken if you use 
> different collection types:
> {code:java}
> set.setCachePermissions(Map.of("cache", List.of(CACHE_PUT));
> {code}
> will have different hashCode with such permission set:
> {code:java}
> set.setCachePermissions(Map.of("cache", Set.of(CACHE_PUT));
> {code}
> 2) By default in message framework deserialization process of field of type 
> {{Collection}} is backed by {{ArrayList}}.  If we want to use {{Set}}, we 
> should change type parameter in {{SecurityBasicPermissionSet}} as shown below:
> {code:java}
> Map<String, Set<SecurityPermission>> taskPermissions;
> {code}
> Both 1) and 2) leads to situation, when local and remote (read from 
> `MessageReader`) `SecurityBasicPermissionSet` set can be unequal and even 
> duplicated in collections.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to