You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Pavel Tupitsyn (Jira)" <ji...@apache.org> on 2021/01/28 08:50:00 UTC

[jira] [Created] (IGNITE-14076) Exponential putAll performance degradation in transactional cache

Pavel Tupitsyn created IGNITE-14076:
---------------------------------------

             Summary: Exponential putAll performance degradation in transactional cache
                 Key: IGNITE-14076
                 URL: https://issues.apache.org/jira/browse/IGNITE-14076
             Project: Ignite
          Issue Type: Bug
          Components: cache
    Affects Versions: 2.9.1
            Reporter: Pavel Tupitsyn
             Fix For: 2.11


{{putAll}} execution time grows almost exponentially while the number of keys grows linearly in the following test:

{code:java}
public class PutAllTxTest extends GridCommonAbstractTest {
    @Test
    public void testPutAll() throws Exception {
        Ignition.start(getConfiguration("server1"));
        Ignition.start(getConfiguration("server2"));
        Ignite ignite = Ignition.start(getConfiguration("client").setClientMode(true));

        IgniteCache<Integer, Integer> cache = ignite.createCache(
                new CacheConfiguration<Integer, Integer>("c")
                        .setAtomicityMode(CacheAtomicityMode.TRANSACTIONAL));

        int count = 50000;

        Map<Integer, Integer> data = new TreeMap<>();
        for (int i = 0; i < count; i++)
            data.put(i, i);

        long begin = System.nanoTime();

        cache.putAll(data);

        long dur = System.nanoTime() - begin;
        System.out.println(">>>>> " + dur / 1000000);
    }
}
{code}


||Entries||Seconds||
|1000|0.4|
|5000|1.9|
|10000|3.8|
|20000|10.7|
|40000|41|
|50000|64|





--
This message was sent by Atlassian Jira
(v8.3.4#803005)