Search in sources :

Example 11 with Person

use of org.apache.ignite.yardstick.cache.model.Person in project ignite by apache.

the class IgniteSqlQueryPutSeparatedBenchmark method test.

/**
 * {@inheritDoc}
 */
@Override
public boolean test(Map<Object, Object> ctx) throws Exception {
    ThreadLocalRandom rnd = ThreadLocalRandom.current();
    if (cfg.memberId() % 2 == 0) {
        double salary = rnd.nextDouble() * args.range() * 1000;
        double maxSalary = salary + 1000;
        Collection<Cache.Entry<Integer, Object>> entries = executeQuery(salary, maxSalary);
        for (Cache.Entry<Integer, Object> entry : entries) {
            Person p = (Person) entry.getValue();
            if (p.getSalary() < salary || p.getSalary() > maxSalary)
                throw new Exception("Invalid person retrieved [min=" + salary + ", max=" + maxSalary + ", person=" + p + ']');
        }
    } else {
        IgniteCache<Integer, Object> cache = cacheForOperation(true);
        int i = rnd.nextInt(args.range());
        cache.put(i, new Person(i, "firstName" + i, "lastName" + i, i * 1000));
    }
    return true;
}
Also used : ThreadLocalRandom(java.util.concurrent.ThreadLocalRandom) Person(org.apache.ignite.yardstick.cache.model.Person) Cache(javax.cache.Cache) IgniteCache(org.apache.ignite.IgniteCache)

Example 12 with Person

use of org.apache.ignite.yardstick.cache.model.Person in project ignite by apache.

the class IgniteSqlUpdateFilteredBenchmark method test.

/**
 * {@inheritDoc}
 */
@Override
public boolean test(Map<Object, Object> ctx) throws Exception {
    ThreadLocalRandom rnd = ThreadLocalRandom.current();
    if (rnd.nextBoolean()) {
        double salary = rnd.nextDouble() * args.range() * 1000;
        double maxSalary = salary + 1000;
        Long res = (Long) cache().query(new SqlFieldsQuery("update Person set salary = (salary - ?1 + ?2) / 2 " + "where salary >= ?1 and salary <= ?2").setArgs(salary, maxSalary)).getAll().get(0).get(0);
        updItemsCnt.getAndAdd(res);
        updCnt.getAndIncrement();
    } else {
        int i = rnd.nextInt(args.range());
        cache.put(i, new Person(i, "firstName" + i, "lastName" + i, i * 1000));
        putCnt.getAndIncrement();
    }
    return true;
}
Also used : AtomicLong(java.util.concurrent.atomic.AtomicLong) ThreadLocalRandom(java.util.concurrent.ThreadLocalRandom) Person(org.apache.ignite.yardstick.cache.model.Person) SqlFieldsQuery(org.apache.ignite.cache.query.SqlFieldsQuery)

Example 13 with Person

use of org.apache.ignite.yardstick.cache.model.Person in project ignite by apache.

the class IgniteSqlQueryPutBenchmark method test.

/**
 * {@inheritDoc}
 */
@Override
public boolean test(Map<Object, Object> ctx) throws Exception {
    ThreadLocalRandom rnd = ThreadLocalRandom.current();
    IgniteCache<Integer, Object> cache = cacheForOperation(true);
    if (rnd.nextBoolean()) {
        double salary = rnd.nextDouble() * args.range() * 1000;
        double maxSalary = salary + 1000;
        Collection<Cache.Entry<Integer, Object>> entries = executeQuery(salary, maxSalary);
        for (Cache.Entry<Integer, Object> entry : entries) {
            Person p = (Person) entry.getValue();
            if (p.getSalary() < salary || p.getSalary() > maxSalary)
                throw new Exception("Invalid person retrieved [min=" + salary + ", max=" + maxSalary + ", person=" + p + ']');
        }
        qryCnt.getAndIncrement();
    } else {
        int i = rnd.nextInt(args.range());
        cache.put(i, new Person(i, "firstName" + i, "lastName" + i, i * 1000));
        putCnt.getAndIncrement();
    }
    return true;
}
Also used : AtomicInteger(java.util.concurrent.atomic.AtomicInteger) ThreadLocalRandom(java.util.concurrent.ThreadLocalRandom) Person(org.apache.ignite.yardstick.cache.model.Person) Cache(javax.cache.Cache) IgniteCache(org.apache.ignite.IgniteCache)

Example 14 with Person

use of org.apache.ignite.yardstick.cache.model.Person in project ignite by apache.

the class IgniteSqlDeleteFilteredBenchmark method test.

/**
 * {@inheritDoc}
 */
@Override
public boolean test(Map<Object, Object> ctx) throws Exception {
    ThreadLocalRandom rnd = ThreadLocalRandom.current();
    if (rnd.nextBoolean()) {
        double salary = rnd.nextDouble() * args.range() * 1000;
        double maxSalary = salary + 1000;
        Long res = (Long) cache().query(new SqlFieldsQuery("delete from Person where salary >= ? and salary <= ?").setArgs(salary, maxSalary)).getAll().get(0).get(0);
        delItemsCnt.getAndAdd(res);
        delCnt.getAndIncrement();
    } else {
        int i = rnd.nextInt(args.range());
        cache.put(i, new Person(i, "firstName" + i, "lastName" + i, i * 1000));
        putCnt.getAndIncrement();
    }
    return true;
}
Also used : AtomicLong(java.util.concurrent.atomic.AtomicLong) ThreadLocalRandom(java.util.concurrent.ThreadLocalRandom) Person(org.apache.ignite.yardstick.cache.model.Person) SqlFieldsQuery(org.apache.ignite.cache.query.SqlFieldsQuery)

Aggregations

Person (org.apache.ignite.yardstick.cache.model.Person)14 ThreadLocalRandom (java.util.concurrent.ThreadLocalRandom)5 Organization (org.apache.ignite.yardstick.cache.model.Organization)5 Cache (javax.cache.Cache)4 IgniteCache (org.apache.ignite.IgniteCache)4 SqlFieldsQuery (org.apache.ignite.cache.query.SqlFieldsQuery)3 AtomicInteger (java.util.concurrent.atomic.AtomicInteger)2 AtomicLong (java.util.concurrent.atomic.AtomicLong)2 List (java.util.List)1 BinaryObject (org.apache.ignite.binary.BinaryObject)1 Identifier (org.apache.ignite.yardstick.cache.load.model.key.Identifier)1 Mark (org.apache.ignite.yardstick.cache.load.model.key.Mark)1 Car (org.apache.ignite.yardstick.cache.load.model.value.Car)1 Truck (org.apache.ignite.yardstick.cache.load.model.value.Truck)1 Account (org.apache.ignite.yardstick.cache.model.Account)1 Person1 (org.apache.ignite.yardstick.cache.model.Person1)1 Person2 (org.apache.ignite.yardstick.cache.model.Person2)1 Person8 (org.apache.ignite.yardstick.cache.model.Person8)1