[
https://issues.jboss.org/browse/ISPN-6935?page=com.atlassian.jira.plugin....
]
Radim Vansa commented on ISPN-6935:
-----------------------------------
There is a similar problem with Maps: at this point we require them to be
serializable/externalizable. We could use {{MarshallUtil.marshallMap}} and marshall them
more effectively, but that would cause potential problems as in a). We could change the
internally held value to Collection<Map.Entry> but this would render the use awkward
in some cases.
Use Collection instead of Set
-----------------------------
Key: ISPN-6935
URL:
https://issues.jboss.org/browse/ISPN-6935
Project: Infinispan
Issue Type: Sub-task
Components: Core
Affects Versions: 9.0.0.Alpha4
Reporter: Radim Vansa
Assignee: Radim Vansa
Fix For: 9.0.0.Beta1
Currently the xManyCommand commands hold the keys in a set internally. During marshalling
and splitting the set (when the command goes remote), we use {{HashSet}}. However, this
has drawbacks:
a) if the set passed to command uses different means of equality than
{{Object.hashCode()}} and {{Object.equals()}} we may lose some keys in the derived set -
we don't inject dataContainer's keyEquivalence to the commands
b) as these sets are usually just iterated through (contains() is rare) it's less
effective to use complex data structures as {{HashSet}} - plain {{ArrayList}} is
sufficient.
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)