protected final void testFineGrainedAtomicHashMap(boolean executeOnLockOwner) throws Exception { final int txExecutor = executeOnLockOwner ? 0 : 1; FineGrainedAtomicMap<Object, Object> map = AtomicMapLookup.getFineGrainedAtomicMap(cache(txExecutor), fgahmKey); log.infof("%s composite keys collected.", collectors[txExecutor].getKeys().size()); ControlledRpcManager rpcManager = ControlledRpcManager.replaceRpcManager(cache(txExecutor)); try { Future<Boolean> txOutcome = fork(() -> {
@Override protected void createCacheManagers() throws Throwable { for (int i = 0; i < NUM_NODES; ++i) { collectors[i] = new CollectKeysInterceptor(); ConfigurationBuilder builder = getDefaultClusteredCacheConfig(CacheMode.DIST_SYNC, true); builder.transaction().lockingMode(pessimistic ? LockingMode.PESSIMISTIC : LockingMode.OPTIMISTIC); builder.customInterceptors().addInterceptor().interceptor(collectors[i]) .before(TxInterceptor.class); builder.clustering().hash().numOwners(2).groups().enabled(); addClusterEnabledCacheManager(builder); } waitForClusterToForm(); ahmKey = new MagicKey("AtomicMap", cache(0)); fgahmKey = new MagicKey("FineGrainedAtomicMap", cache(0)); }
protected final void testAtomicHashMap(boolean executeOnLockOwner) throws Exception { final int txExecutor = executeOnLockOwner ? 0 : 1; AtomicMap<Object, Object> map = AtomicMapLookup.getAtomicMap(cache(txExecutor), ahmKey); final Transaction tx1 = tm(txExecutor).suspend(); ControlledRpcManager rpcManager = ControlledRpcManager.replaceRpcManager(cache(txExecutor)); try { Future<Boolean> txOutcome = fork(() -> {