@Override @AfterClass protected void destroy() { super.destroy(); }
protected <K, V> List<Cache<K, V>> createClusteredCaches(int numMembersInCluster, ConfigurationBuilder defaultConfig, TransportFlags flags) { List<Cache<K, V>> caches = new ArrayList<>(numMembersInCluster); for (int i = 0; i < numMembersInCluster; i++) { EmbeddedCacheManager cm = addClusterEnabledCacheManager(defaultConfig, flags); Cache<K, V> cache = cm.getCache(); caches.add(cache); } waitForClusterToForm(); return caches; }
@BeforeMethod @Override public void createBeforeMethod() throws Throwable { caches.clear(); super.createBeforeMethod(); } }
public FunctionalWriteSkewInMemoryTest() { transactional(true).lockingMode(LockingMode.OPTIMISTIC).isolationLevel(IsolationLevel.REPEATABLE_READ); }
@Override public Object[] factory() { return new Object[] { new PutForExternalReadTest().cacheMode(CacheMode.DIST_SYNC).transactional(false), new PutForExternalReadTest().cacheMode(CacheMode.DIST_SYNC).transactional(true).lockingMode(LockingMode.OPTIMISTIC), new PutForExternalReadTest().cacheMode(CacheMode.DIST_SYNC).transactional(true).lockingMode(LockingMode.PESSIMISTIC), new PutForExternalReadTest().cacheMode(CacheMode.DIST_SYNC).transactional(true).totalOrder(true), new PutForExternalReadTest().cacheMode(CacheMode.REPL_SYNC).transactional(false), new PutForExternalReadTest().cacheMode(CacheMode.REPL_SYNC).transactional(true).lockingMode(LockingMode.OPTIMISTIC), new PutForExternalReadTest().cacheMode(CacheMode.REPL_SYNC).transactional(true).lockingMode(LockingMode.PESSIMISTIC), new PutForExternalReadTest().cacheMode(CacheMode.REPL_SYNC).transactional(true).totalOrder(true), new PutForExternalReadTest().cacheMode(CacheMode.SCATTERED_SYNC).biasAcquisition(BiasAcquisition.NEVER).transactional(false), new PutForExternalReadTest().cacheMode(CacheMode.SCATTERED_SYNC).biasAcquisition(BiasAcquisition.ON_WRITE).transactional(false), }; }
@Override public EmbeddedCacheManager addClusterEnabledCacheManager(ConfigurationBuilder builder, TransportFlags flags) { return super.addClusterEnabledCacheManager(builder, flags); }
Method factory = getClass().getMethod("factory"); if (factory.getDeclaringClass() == getClass()) { Object[] instances = factory(); for (int i = 0; i < instances.length; i++) { if (instances[i].getClass() != getClass()) { try { Consumer<MultipleCacheManagersTest>[] cacheModeModifiers = getModifiers(InCacheMode.class, InCacheMode::value, MultipleCacheManagersTest::cacheMode); Consumer<MultipleCacheManagersTest>[] transactionModifiers = getModifiers(InTransactionMode.class, InTransactionMode::value, (t, m) -> t.transactional(m.isTransactional())); allModifiers = asList(cacheModeModifiers, transactionModifiers); } catch (Exception e) { applyModifiers(tests, modifiers, stride); stride *= modifiers.length;
@Override public Object[] factory() { return new Object[] { new ClearTest().cacheMode(CacheMode.DIST_SYNC).transactional(false), new ClearTest().cacheMode(CacheMode.DIST_SYNC).transactional(true).lockingMode(LockingMode.OPTIMISTIC), new ClearTest().cacheMode(CacheMode.DIST_SYNC).transactional(true).lockingMode(LockingMode.PESSIMISTIC), new ClearTest().cacheMode(CacheMode.SCATTERED_SYNC).biasAcquisition(BiasAcquisition.NEVER).transactional(false), new ClearTest().cacheMode(CacheMode.SCATTERED_SYNC).biasAcquisition(BiasAcquisition.ON_WRITE).transactional(false), }; }
@Override protected String parameters() { // cacheMode is self-explaining String[] names = parameterNames(); Object[] params = parameterValues(); assert names.length == params.length; boolean[] last = new boolean[params.length]; boolean none = true; for (int i = params.length - 1; i >= 0; --i) { last[i] = none; none &= params[i] == null; } if (none) { return null; } StringBuilder sb = new StringBuilder().append('['); for (int i = 0; i < params.length; ++i) { if (params[i] != null) { if (names[i] != null) { sb.append(names[i]).append('='); } sb.append(params[i]); if (!last[i]) sb.append(", "); } } return sb.append(']').toString(); }
@Override public Object[] factory() { return new Object[] { new ClusterExpirationLoaderFunctionalTest().cacheMode(CacheMode.DIST_SYNC).transactional(true), new ClusterExpirationLoaderFunctionalTest().cacheMode(CacheMode.DIST_SYNC).transactional(false), new ClusterExpirationLoaderFunctionalTest().cacheMode(CacheMode.REPL_SYNC).transactional(true), new ClusterExpirationLoaderFunctionalTest().cacheMode(CacheMode.REPL_SYNC).transactional(false), new ClusterExpirationLoaderFunctionalTest().cacheMode(CacheMode.SCATTERED_SYNC).transactional(false), }; } }
@Override protected Object[] parameterValues() { return concat(super.parameterValues(), storageType, evictionType); }
@Override protected String[] parameterNames() { return concat(super.parameterNames(), "numOwners", "l1", "groupers"); }
@Override public Object[] factory() { return new Object[] { new PartitionStressTest().cacheMode(CacheMode.DIST_SYNC).transactional(false), new PartitionStressTest().cacheMode(CacheMode.DIST_SYNC).transactional(true).lockingMode(LockingMode.OPTIMISTIC), new PartitionStressTest().cacheMode(CacheMode.DIST_SYNC).transactional(true).lockingMode(LockingMode.PESSIMISTIC), }; }
@Override public Object[] factory() { return new Object[] { new IgnoreReturnValueForConditionalOperationsTest().cacheMode(CacheMode.DIST_SYNC).transactional(false), new IgnoreReturnValueForConditionalOperationsTest().cacheMode(CacheMode.DIST_SYNC).transactional(true), new IgnoreReturnValueForConditionalOperationsTest().cacheMode(CacheMode.SCATTERED_SYNC).transactional(false).biasAcquisition(BiasAcquisition.NEVER), new IgnoreReturnValueForConditionalOperationsTest().cacheMode(CacheMode.SCATTERED_SYNC).transactional(false).biasAcquisition(BiasAcquisition.ON_WRITE) }; }
@Override @BeforeClass public void createBeforeClass() throws Throwable { super.createBeforeClass(); if (cleanupAfterTest()) initMaps(); }
protected void assertNoTransactions(final String cacheName) { eventually("There are pending transactions!", () -> { for (Cache<?, ?> cache : caches(cacheName)) { final TransactionTable transactionTable = TestingUtil.extractComponent(cache, TransactionTable.class); int localTxCount = transactionTable.getLocalTxCount(); int remoteTxCount = transactionTable.getRemoteTxCount(); if (localTxCount != 0 || remoteTxCount != 0) { log.tracef("Local tx=%s, remote tx=%s, for cache %s ", transactionTable.getLocalGlobalTransaction(), transactionTable.getRemoteGlobalTransaction(), address(cache)); return false; } } return true; }); }
@Override public Object[] factory() { return new Object[] { new TransactionalGetGroupKeysTest(TestCacheFactory.PRIMARY_OWNER).totalOrder(false).isolationLevel(IsolationLevel.READ_COMMITTED), new TransactionalGetGroupKeysTest(TestCacheFactory.PRIMARY_OWNER).totalOrder(true).isolationLevel(IsolationLevel.READ_COMMITTED), new TransactionalGetGroupKeysTest(TestCacheFactory.BACKUP_OWNER).totalOrder(false).isolationLevel(IsolationLevel.READ_COMMITTED), new TransactionalGetGroupKeysTest(TestCacheFactory.BACKUP_OWNER).totalOrder(true).isolationLevel(IsolationLevel.READ_COMMITTED), new TransactionalGetGroupKeysTest(TestCacheFactory.NON_OWNER).totalOrder(false).isolationLevel(IsolationLevel.READ_COMMITTED), new TransactionalGetGroupKeysTest(TestCacheFactory.NON_OWNER).totalOrder(true).isolationLevel(IsolationLevel.READ_COMMITTED), }; }
@Override public Address address(int cacheIndex) { return super.address(cacheIndex); }
@Override public EmbeddedCacheManager addClusterEnabledCacheManager(ConfigurationBuilder defaultConfig) { return super.addClusterEnabledCacheManager(defaultConfig); }
@Override public Object[] factory() { return new Object[] { new OperationsDuringStateTransferTest().cacheMode(CacheMode.DIST_SYNC).transactional(false), new OperationsDuringStateTransferTest().cacheMode(CacheMode.DIST_SYNC).transactional(true).lockingMode(LockingMode.PESSIMISTIC), new OperationsDuringStateTransferTest().cacheMode(CacheMode.DIST_SYNC).transactional(true).lockingMode(LockingMode.OPTIMISTIC), new OperationsDuringStateTransferTest().cacheMode(CacheMode.REPL_SYNC).transactional(false), new OperationsDuringStateTransferTest().cacheMode(CacheMode.REPL_SYNC).transactional(true).lockingMode(LockingMode.PESSIMISTIC), new OperationsDuringStateTransferTest().cacheMode(CacheMode.REPL_SYNC).transactional(true).lockingMode(LockingMode.OPTIMISTIC), new OperationsDuringStateTransferTest().cacheMode(CacheMode.SCATTERED_SYNC).transactional(false).biasAcquisition(BiasAcquisition.NEVER), new OperationsDuringStateTransferTest().cacheMode(CacheMode.SCATTERED_SYNC).transactional(false).biasAcquisition(BiasAcquisition.ON_WRITE), }; }