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 Pereslegin (JIRA)" <ji...@apache.org> on 2017/10/13 18:59:00 UTC

[jira] [Created] (IGNITE-6630) Incorrect time units of average transaction commit/rollback duration cache metrics.

Pavel Pereslegin created IGNITE-6630:
----------------------------------------

             Summary: Incorrect time units of average transaction commit/rollback duration cache metrics.
                 Key: IGNITE-6630
                 URL: https://issues.apache.org/jira/browse/IGNITE-6630
             Project: Ignite
          Issue Type: Bug
            Reporter: Pavel Pereslegin
            Assignee: Pavel Pereslegin
            Priority: Minor


AverageTxCommitTime and AverageTxRollbackTime metrics in CacheMetrics calculated in milliseconds instead of microseconds as pointed in javadoc.

Simple junit repro:
{code:java}
public class CacheMetricsTxAvgTimeTest extends GridCommonAbstractTest {
    /** */
    private <K, V> CacheConfiguration<K, V> cacheConfiguration(String name) {
        CacheConfiguration<K, V> cacheConfiguration = new CacheConfiguration<>(name);
        cacheConfiguration.setCacheMode(CacheMode.PARTITIONED);
        cacheConfiguration.setAtomicityMode(CacheAtomicityMode.TRANSACTIONAL);
        cacheConfiguration.setStatisticsEnabled(true);
        return cacheConfiguration;
    }

    /** */
    public void testTxCommitDuration() throws Exception {
        try ( Ignite node = startGrid(0)) {
            IgniteCache<Object, Object> cache = node.createCache(cacheConfiguration(DEFAULT_CACHE_NAME));

            try (Transaction tx = node.transactions().txStart()) {
                cache.put(1, 1);

                // Await 1 second.
                U.sleep(1_000);

                tx.commit();
            }

            // Documentation says that this metric is in microseconds.
            float commitTime = cache.metrics().getAverageTxCommitTime();

            // But this assertion will fail because it in milliseconds and returns only ~1000.
            assert commitTime >= 1_000_000;
        }
    }
}
{code}




--
This message was sent by Atlassian JIRA
(v6.4.14#64029)