private static List<Duration> calculateRetryIntervals(Configuration config) { long timeout = config.locking().lockAcquisitionTimeout(); List<Duration> intervals = new LinkedList<>(); // Generate exponential back-off intervals for (long interval = timeout; interval > 1; interval /= 10) { intervals.add(0, Duration.ofMillis(interval)); } intervals.add(0, Duration.ZERO); return intervals; } }
private static List<Duration> calculateRetryIntervals(Configuration config) { long timeout = config.locking().lockAcquisitionTimeout(); List<Duration> intervals = new LinkedList<>(); // Generate exponential back-off intervals for (long interval = timeout; interval > 1; interval /= 10) { intervals.add(0, Duration.ofMillis(interval)); } intervals.add(0, Duration.ZERO); return intervals; } }
private static List<Duration> calculateRetryIntervals(Configuration config) { long timeout = config.locking().lockAcquisitionTimeout(); List<Duration> intervals = new LinkedList<>(); // Generate exponential back-off intervals for (long interval = timeout; interval > 1; interval /= 10) { intervals.add(0, Duration.ofMillis(interval)); } intervals.add(0, Duration.ZERO); return intervals; } }
public DistributedCacheManager(LocalDistributableSessionManager manager, Cache<String, Map<Object, Object>> cache, Registry<String, Void> registry, SharedLocalYieldingClusterLockManager lockManager, SessionAttributeStorage<T> attributeStorage, BatchingManager batchingManager, CacheInvoker invoker, KeyAffinityServiceFactory affinityFactory) { this.manager = manager; this.lockManager = lockManager; this.cache = cache; this.attributeStorage = attributeStorage; this.batchingManager = batchingManager; this.invoker = new ForceSynchronousCacheInvoker(invoker); this.lockTimeout = this.cache.getCacheConfiguration().locking().lockAcquisitionTimeout(); Configuration configuration = this.cache.getCacheConfiguration(); this.passivationEnabled = configuration.loaders().passivation() && !configuration.loaders().shared() && !configuration.loaders().cacheLoaders().isEmpty(); this.persistenceEnabled = !configuration.loaders().passivation() && !configuration.loaders().cacheLoaders().isEmpty(); this.registry = registry; this.affinity = affinityFactory.createService(cache, this); }
@Test(groups = "functional", expectedExceptions = { CacheException.class }) public void testLockAcquisitionTimeout() throws Exception { AdvancedCache<Object, Object> cache1 = advancedCache(0, "syncReplCache"); AdvancedCache<Object, Object> cache2 = advancedCache(1, "syncReplCache"); cache1.getCacheConfiguration().locking().lockAcquisitionTimeout(10); cache2.getCacheConfiguration().locking().lockAcquisitionTimeout(10); TestingUtil.blockUntilViewsReceived(10000, cache1, cache2); // get a lock on cache 2 and hold on to it. EmbeddedTransactionManager tm = (EmbeddedTransactionManager) TestingUtil.getTransactionManager(cache2); tm.begin(); cache2.put("block", "block"); assertTrue(tm.getTransaction().runPrepare()); tm.suspend(); cache1.put("block", "v"); }
public void testUserDefinedTimeouts() { HotRodServerConfigurationBuilder builder = new HotRodServerConfigurationBuilder(); builder.topologyLockTimeout(26000).topologyReplTimeout(31000); withClusteredServer(builder, (cfg, distSyncTimeout) -> { assertEquals(cfg.locking().lockAcquisitionTimeout(), 26000); assertEquals(cfg.clustering().remoteTimeout(), 31000); assertTrue(cfg.clustering().stateTransfer().fetchInMemoryState()); assertEquals(cfg.clustering().stateTransfer().timeout(), 31000 + distSyncTimeout); assertTrue(cfg.persistence().stores().isEmpty()); }); }
assertEquals(1000, c.getCacheConfiguration().locking().lockAcquisitionTimeout()); assertFalse(c.getCacheConfiguration().transaction().transactionMode().isTransactional()); assertEquals(TransactionMode.NON_TRANSACTIONAL, c.getCacheConfiguration().transaction().transactionMode()); assertTrue(c.getCacheConfiguration().transaction().transactionMode().isTransactional()); assertEquals(32, c.getCacheConfiguration().locking().concurrencyLevel()); assertEquals(10000, c.getCacheConfiguration().locking().lockAcquisitionTimeout()); assertNotNull(TestingUtil.extractComponent(c, TransactionManager.class)); assertNotNull("This should not be null, since a shared transport should be present", TestingUtil.extractComponent(c, Transport.class)); assertEquals(10000, c.getCacheConfiguration().locking().lockAcquisitionTimeout()); assertEquals(TransactionMode.NON_TRANSACTIONAL, c.getCacheConfiguration().transaction().transactionMode()); assertNotNull("This should not be null, since a shared transport should be present", TestingUtil.extractComponent(c, Transport.class)); assertEquals(10000, c.getCacheConfiguration().locking().lockAcquisitionTimeout()); assertNotNull(TestingUtil.extractComponent(c, TransactionManager.class)); assertNotNull("This should not be null, since a shared transport should be present", TestingUtil.extractComponent(c, Transport.class));
assertEquals(31000, replTemplate.locking().lockAcquisitionTimeout()); assertEquals(32000, replConfiguration.locking().lockAcquisitionTimeout()); assertEquals(3000, replTemplate.locking().concurrencyLevel()); assertEquals(3000, replConfiguration.locking().concurrencyLevel());
assertEquals(1000, defaultCfg.locking().lockAcquisitionTimeout()); assertEquals(100, defaultCfg.locking().concurrencyLevel()); assertEquals(IsolationLevel.REPEATABLE_READ, defaultCfg.locking().isolationLevel()); assertEquals(20000, c.locking().lockAcquisitionTimeout()); assertEquals(1000, c.locking().concurrencyLevel()); assertEquals(IsolationLevel.REPEATABLE_READ, c.locking().isolationLevel());
assertTrue(c.jmxStatistics().enabled()); assertEquals(CacheMode.LOCAL, c.clustering().cacheMode()); assertEquals(30000, c.locking().lockAcquisitionTimeout()); assertEquals(2000, c.locking().concurrencyLevel()); assertEquals(IsolationLevel.NONE, c.locking().isolationLevel()); assertTrue(c.invocationBatching().enabled()); assertTrue(c.jmxStatistics().enabled()); assertEquals(30500, c.locking().lockAcquisitionTimeout()); assertEquals(2500, c.locking().concurrencyLevel()); assertTrue(c.invocationBatching().enabled()); assertTrue(c.jmxStatistics().enabled()); assertEquals(31000, c.locking().lockAcquisitionTimeout()); assertEquals(3000, c.locking().concurrencyLevel()); assertTrue(c.clustering().partitionHandling().enabled()); assertTrue(c.jmxStatistics().enabled()); assertEquals(31500, c.locking().lockAcquisitionTimeout()); assertEquals(3500, c.locking().concurrencyLevel()); assertEquals(IsolationLevel.READ_COMMITTED, c.locking().isolationLevel());