Alexander Belyak created IGNITE-7246: ----------------------------------------
Summary: MarshallerContextimpl.putAtIndex Key: IGNITE-7246 URL: https://issues.apache.org/jira/browse/IGNITE-7246 Project: Ignite Issue Type: Bug Components: general Affects Versions: 2.4 Reporter: Alexander Belyak Priority: Minor 1) putAtIndex in org.apache.ignite.internal.MarshallerContextImpl contains code for unordered insertion, but it didn't work (add only into tail of allCaches collection). Test: {panel} public static void main(String[] args) { ArrayList<ConcurrentMap<Integer, MappedName>> all = new ArrayList<>(); ConcurrentMap<Integer, MappedName> m0 = new ConcurrentHashMap<>(); ConcurrentMap<Integer, MappedName> m1 = new ConcurrentHashMap<>(); putAtIndex(m1, all,(byte)1, all.size()); putAtIndex(m0, all, (byte)0, all.size()); System.out.println(all.get(0)==m0); System.out.println(all.get(1)==m1); System.out.println(all.size()); } {panel} 2) Interface Collection is unordered (javadoc: "Some are ordered and others unordered") so its better to use List interface; 3) putAtIndex called only from getCacheFor(byte) method from synchro block so it can get size of allCaches by itself -- This message was sent by Atlassian JIRA (v6.4.14#64029)