Refine search
@Override public Object call() throws Exception { info(">>>> Starting grid."); Ignite g4 = startGrid(4); started.set(true); IgniteCache<Object, Object> c = g4.cache(DEFAULT_CACHE_NAME); info(">>>> Checking tx in new grid."); try (Transaction tx = g4.transactions().txStart(PESSIMISTIC, REPEATABLE_READ)) { assertEquals(2, c.get("a")); assertEquals(4, c.get("b")); assertEquals(6, c.get("c")); } return null; } }, 1);
@Override public Void call() throws Exception { try (Transaction tx = ignite.transactions().txStart(OPTIMISTIC, SERIALIZABLE)) { if (entry) readCache.get(readKey); else readCache.getEntry(readKey); barrier.await(); writeCache.put(putKey.incrementAndGet(), 0); tx.commit(); } return null; } }, THREADS, "test-thread");
@Override public void run(IgniteCache<String, Integer> cache) throws IgniteCheckedException { Map.Entry<String, Integer> e = F.first(pairs(1).entrySet()); assert e != null; String key = e.getKey(); Integer val = e.getValue(); try (Transaction tx = cache.unwrap(Ignite.class).transactions().txStart()) { assert cache.getAndPut(key, val) == null; assert cache.containsKey(key); assert val.equals(cache.get(key)); assert val.equals(cache.getAndRemove(key)); assert !cache.containsKey(key); tx.commit(); } assert !cache.containsKey(key); } }, F.t(EVT_CACHE_OBJECT_REMOVED, gridCnt));
/** * @param cache Cache. * @param key Key. * @param concurrency Transaction concurrency. * @param isolation Transaction isolation. * @throws Exception If failed. */ private void checkReadThroughGetAndInvoke(IgniteCache<Object, Object> cache, Object key, TransactionConcurrency concurrency, TransactionIsolation isolation) throws Exception { putDataInStore(Collections.singletonMap(key, key), cache.getName()); try (Transaction tx = cache.unwrap(Ignite.class).transactions().txStart(concurrency, isolation)) { cache.get(key); Object ret = cache.invoke(key, new TestEntryProcessor()); assertEquals(key, ret); tx.commit(); } checkValue(cache.getName(), key, (Integer)key + 1); }
/** * @param node Node. * @param cache Cache. */ @SuppressWarnings("unchecked") private void cacheOperations(Ignite node, IgniteCache<Integer, Integer> cache) { ThreadLocalRandom rnd = ThreadLocalRandom.current(); Integer key = rnd.nextInt(1000); cache.put(key, key); cache.get(key); if (cache.getConfiguration(CacheConfiguration.class).getAtomicityMode() != TRANSACTIONAL_SNAPSHOT) { try (Transaction tx = node.transactions().txStart(OPTIMISTIC, REPEATABLE_READ)) { cache.put(key, key); tx.commit(); } } try (Transaction tx = node.transactions().txStart(PESSIMISTIC, REPEATABLE_READ)) { cache.put(key, key); tx.commit(); } }
/** * @param srvBefore Number of servers before restart. * @param srvAfter Number of servers after restart. * @throws Exception If failed. */ private void restart1(int srvBefore, int srvAfter) throws Exception { Ignite srv0 = startGridsMultiThreaded(srvBefore); IgniteCache<Object, Object> cache = srv0.createCache(cacheConfiguration()); Set<Integer> keys = new HashSet<>(primaryKeys(cache, 1, 0)); try (Transaction tx = srv0.transactions().txStart(PESSIMISTIC, REPEATABLE_READ)) { for (Integer k : keys) cache.put(k, k); tx.commit(); } stopAllGrids(); srv0 = startGridsMultiThreaded(srvAfter); cache = srv0.cache(DEFAULT_CACHE_NAME); Map<Object, Object> res = cache.getAll(keys); assertEquals(keys.size(), res.size()); for (Integer k : keys) assertEquals(k, cache.get(k)); try (Transaction tx = srv0.transactions().txStart(PESSIMISTIC, REPEATABLE_READ)) { for (Integer k : keys) cache.put(k, k + 1); tx.commit(); } for (Integer k : keys) assertEquals(k + 1, cache.get(k)); }
/** * Test simple key/value. * @param key Simple key. * @throws Exception If failed. */ private void checkSimple(String key) throws Exception { for (int i = INIT_GRID_NUM; i < MAX_GRID_NUM; i++) { startGrid(i); assert PARTITIONED == grid(i).cache(DEFAULT_CACHE_NAME).getConfiguration(CacheConfiguration.class).getCacheMode(); try (Transaction tx = grid(i).transactions().txStart(PESSIMISTIC, REPEATABLE_READ)) { Integer val = (Integer) grid(i).cache(DEFAULT_CACHE_NAME).get(key); assertEquals("Simple check failed for node: " + i, (Integer) i, val); grid(i).cache(DEFAULT_CACHE_NAME).put(key, i + 1); tx.commit(); } stopGrid(i); } }
@Override public Void call() throws Exception { Transaction tx = ignite0.transactions().txStart(PESSIMISTIC, REPEATABLE_READ); ignite0.cache(DEFAULT_CACHE_NAME).get(key); return null; } }, "lock-thread1");
@Override public void applyx() { IgniteCache<Integer, Integer> c = grid(0).cache(DEFAULT_CACHE_NAME); for (int i = 0; i < TX_CNT; i++) { int kv = cntr.incrementAndGet(); try (Transaction tx = grid(0).transactions().txStart(concurrency, isolation)) { assertNull(c.get(kv)); c.put(kv, kv); assertEquals(Integer.valueOf(kv), c.get(kv)); // Again. c.put(kv, kv); assertEquals(Integer.valueOf(kv), c.get(kv)); tx.commit(); } if (TEST_INFO && kv % 1000 == 0) info("Transactions: " + kv); } } }, THREAD_CNT);
@Override public void applyx() throws IgniteCheckedException { try (Transaction tx = ignite.transactions().txStart(TransactionConcurrency.PESSIMISTIC, isolation, timeout, keys.size())) { List<Integer> keys0 = getAndFlip(reverse) ? keys : keysReversed; for (int i = 0; i < keys0.size(); i++) { Integer key = keys0.get(i); if(oneOp) cache.getAndPut(key, new Account(key, (key + 1) * 100)); else cache.put(key, new Account(cache.get(key).id, (key + 1) * 100)); if (i == 0) barrier.await(timeout >> 1, TimeUnit.MILLISECONDS); } tx.commit(); } catch (Exception e) { ex.compareAndSet(null, e); } } }, 2, "tx");
IgniteTransactions txs = ignite.transactions(); try (Transaction tx = txs.txStart(OPTIMISTIC, SERIALIZABLE)) { Integer val = cache.get(key); try (Transaction tx = txs.txStart(OPTIMISTIC, SERIALIZABLE)) { Integer val = cache.get(key);
tx = cache.unwrap(Ignite.class).transactions().txStart(); if ((cache.get(key) == null) || rnd.nextBoolean()) cache.invoke(key, new IncrementTestEntryProcessor()); else { val = cache.get(key);
/** * Test {@link GridCacheInternalKey}/{@link GridCacheAtomicLongValue}. * @param name Name. * @throws Exception If failed. */ private void checkCustom(String name) throws Exception { for (int i = INIT_GRID_NUM; i < 20; i++) { startGrid(i); assert PARTITIONED == grid(i).cache(DEFAULT_CACHE_NAME).getConfiguration(CacheConfiguration.class).getCacheMode(); try (Transaction tx = grid(i).transactions().txStart(PESSIMISTIC, REPEATABLE_READ)) { GridCacheInternalKey key = new GridCacheInternalKeyImpl(name, "testGroup"); GridCacheAtomicLongValue atomicVal = ((GridCacheAtomicLongValue) grid(i).cache(DEFAULT_CACHE_NAME).get(key)); assertNotNull(atomicVal); assertEquals("Custom check failed for node: " + i, (long) i, atomicVal.get()); atomicVal.set(i + 1); grid(i).cache(DEFAULT_CACHE_NAME).put(key, atomicVal); tx.commit(); } stopGrid(i); } }
@Override public void run() { U.awaitQuiet(l); try (final Transaction tx = ignite.transactions().txStart()) { cache.get(0); tx.commit(); } } });
@Nullable @Override public Object call() throws Exception { int cnt = 100; for (int i = 0; i < cnt && !Thread.currentThread().isInterrupted(); i++) { IgniteEx grid = grid(rand.nextInt(2)); IgniteCache<Integer, String> cache = grid.cache(DEFAULT_CACHE_NAME); int key = rand.nextInt(1000); String val = Integer.toString(key); try (Transaction tx = grid.transactions().txStart(PESSIMISTIC, REPEATABLE_READ)) { String v = cache.get(key); assert v == null || v.equals(Integer.toString(key)) : "Invalid value for key [key=" + key + ", val=" + v + ']'; cache.put(key, val); tx.commit(); } if (cntr.incrementAndGet() % 100 == 0) info("Stored cache object for key [key=" + key + ", idx=" + i + ']'); } return null; } }, 10);
@Override public void run(IgniteCache<String, Integer> cache) throws IgniteCheckedException { Map.Entry<String, Integer> e = F.first(pairs(1).entrySet()); assert e != null; String key = e.getKey(); Integer val = e.getValue(); try (Transaction tx = cache.unwrap(Ignite.class).transactions().txStart()) { assert cache.getAndPut(key, val) == null; assert cache.containsKey(key); assert val.equals(cache.get(key)); assert val.equals(cache.getAndRemove(key)); assert !cache.containsKey(key); cache.put(key, val); assert cache.containsKey(key); tx.commit(); } assert cache.containsKey(key); } }, F.t(EVT_CACHE_OBJECT_PUT, gridCnt));
@Override public void run() { Ignite node = ignite(0); IgniteCache<Integer, Integer> cache = node.cache(DEFAULT_CACHE_NAME); ThreadLocalRandom rnd = ThreadLocalRandom.current(); while (!stop.get()) { try (Transaction tx = node.transactions().txStart(PESSIMISTIC, REPEATABLE_READ)) { for (int i = 0; i < KEYS; i++) { if (rnd.nextBoolean()) cache.get(i); } } } } }, 3, "tx-thread");
@Nullable @Override public Object call() throws Exception { int cnt = 100; for (int i = 0; i < cnt && !Thread.currentThread().isInterrupted(); i++) { IgniteEx grid = grid(rand.nextInt(2)); IgniteCache<Integer, String> cache = grid.cache(DEFAULT_CACHE_NAME); int key = rand.nextInt(1000); String val = Integer.toString(key); try (Transaction tx = grid.transactions().txStart(PESSIMISTIC, REPEATABLE_READ)) { String v = cache.get(key); assert v == null || v.equals(Integer.toString(key)) : "Invalid value for key [key=" + key + ", val=" + v + ']'; cache.put(key, val); tx.commit(); } if (cntr.incrementAndGet() % 100 == 0) info("Stored cache object for key [key=" + key + ", idx=" + i + ']'); } return null; } }, 10);
@Override public Object call() throws Exception { IgniteCache<Integer, Integer> cache = ignite1.cache(DEFAULT_CACHE_NAME); IgniteTransactions txs = ignite1.transactions(); int val = idx.getAndIncrement(); for (int i = 0; i < 100; i++) { try (Transaction tx = txs.txStart(optimistic ? OPTIMISTIC : PESSIMISTIC, REPEATABLE_READ)) { cache.get(key); cache.put(key, val); tx.commit(); } } return null; } }, 5, "put-thread");