there is a problem with too many open TCP connections waiting in TIME_WAIT, trying different approaches
Project: http://git-wip-us.apache.org/repos/asf/marmotta/repo Commit: http://git-wip-us.apache.org/repos/asf/marmotta/commit/673b4f97 Tree: http://git-wip-us.apache.org/repos/asf/marmotta/tree/673b4f97 Diff: http://git-wip-us.apache.org/repos/asf/marmotta/diff/673b4f97 Branch: refs/heads/develop Commit: 673b4f97d156e8576e1b86e1dd379f4a7951713f Parents: 35cd6c6 Author: Sebastian Schaffert <[email protected]> Authored: Tue Mar 4 23:26:39 2014 +0100 Committer: Sebastian Schaffert <[email protected]> Committed: Tue Mar 4 23:26:39 2014 +0100 ---------------------------------------------------------------------- .../embedded/InfinispanEmbeddedCacheManager.java | 4 ++++ .../remote/InfinispanRemoteCacheManager.java | 1 + .../embedded/EmbeddedRepositoryConnectionTest.java | 1 + .../kiwi/test/embedded/EmbeddedRepositoryTest.java | 1 + .../test/remote/HotRodRepositoryConnectionTest.java | 1 + .../kiwi/test/remote/HotRodRepositoryTest.java | 1 + .../marmotta/kiwi/test/remote/HotRodServerRule.java | 4 +++- .../marmotta/kiwi/config/KiWiConfiguration.java | 15 +++++++++++++++ 8 files changed, 27 insertions(+), 1 deletion(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/marmotta/blob/673b4f97/libraries/kiwi/kiwi-caching-infinispan/src/main/java/org/apache/marmotta/kiwi/infinispan/embedded/InfinispanEmbeddedCacheManager.java ---------------------------------------------------------------------- diff --git a/libraries/kiwi/kiwi-caching-infinispan/src/main/java/org/apache/marmotta/kiwi/infinispan/embedded/InfinispanEmbeddedCacheManager.java b/libraries/kiwi/kiwi-caching-infinispan/src/main/java/org/apache/marmotta/kiwi/infinispan/embedded/InfinispanEmbeddedCacheManager.java index 6076577..95f1109 100644 --- a/libraries/kiwi/kiwi-caching-infinispan/src/main/java/org/apache/marmotta/kiwi/infinispan/embedded/InfinispanEmbeddedCacheManager.java +++ b/libraries/kiwi/kiwi-caching-infinispan/src/main/java/org/apache/marmotta/kiwi/infinispan/embedded/InfinispanEmbeddedCacheManager.java @@ -145,6 +145,7 @@ public class InfinispanEmbeddedCacheManager implements CacheManager { .clusterName(config.getClusterName()) .machineId("instance-" + config.getDatacenterId()) .addProperty("configurationXml", jgroupsXml) + .distributedSyncTimeout(config.getClusterTimeout()) .globalJmxStatistics() .jmxDomain("org.apache.marmotta.kiwi") .allowDuplicateDomains(true) @@ -165,6 +166,7 @@ public class InfinispanEmbeddedCacheManager implements CacheManager { .consistentHashFactory(new SyncConsistentHashFactory()) .stateTransfer() .fetchInMemoryState(false) + .timeout(config.getClusterTimeout()) .eviction() .strategy(EvictionStrategy.LIRS) .maxEntries(100000) @@ -198,6 +200,7 @@ public class InfinispanEmbeddedCacheManager implements CacheManager { .clusterName(config.getClusterName()) .machineId("instance-" + config.getDatacenterId()) .addProperty("configurationXml", jgroupsXml) + .distributedSyncTimeout(config.getClusterTimeout()) .globalJmxStatistics() .jmxDomain("org.apache.marmotta.kiwi") .allowDuplicateDomains(true) @@ -212,6 +215,7 @@ public class InfinispanEmbeddedCacheManager implements CacheManager { .asyncMarshalling() .stateTransfer() .fetchInMemoryState(false) + .timeout(config.getClusterTimeout()) .eviction() .strategy(EvictionStrategy.LIRS) .maxEntries(100000) http://git-wip-us.apache.org/repos/asf/marmotta/blob/673b4f97/libraries/kiwi/kiwi-caching-infinispan/src/main/java/org/apache/marmotta/kiwi/infinispan/remote/InfinispanRemoteCacheManager.java ---------------------------------------------------------------------- diff --git a/libraries/kiwi/kiwi-caching-infinispan/src/main/java/org/apache/marmotta/kiwi/infinispan/remote/InfinispanRemoteCacheManager.java b/libraries/kiwi/kiwi-caching-infinispan/src/main/java/org/apache/marmotta/kiwi/infinispan/remote/InfinispanRemoteCacheManager.java index 0952706..8455fdd 100644 --- a/libraries/kiwi/kiwi-caching-infinispan/src/main/java/org/apache/marmotta/kiwi/infinispan/remote/InfinispanRemoteCacheManager.java +++ b/libraries/kiwi/kiwi-caching-infinispan/src/main/java/org/apache/marmotta/kiwi/infinispan/remote/InfinispanRemoteCacheManager.java @@ -54,6 +54,7 @@ public class InfinispanRemoteCacheManager implements CacheManager { .host(configuration.getClusterAddress()) .port(configuration.getClusterPort()) .marshaller(new CustomJBossMarshaller()) + .socketTimeout(configuration.getClusterTimeout()) .build(); cacheManager = new RemoteCacheManager(remoteCfg); http://git-wip-us.apache.org/repos/asf/marmotta/blob/673b4f97/libraries/kiwi/kiwi-caching-infinispan/src/test/java/org/apache/marmotta/kiwi/test/embedded/EmbeddedRepositoryConnectionTest.java ---------------------------------------------------------------------- diff --git a/libraries/kiwi/kiwi-caching-infinispan/src/test/java/org/apache/marmotta/kiwi/test/embedded/EmbeddedRepositoryConnectionTest.java b/libraries/kiwi/kiwi-caching-infinispan/src/test/java/org/apache/marmotta/kiwi/test/embedded/EmbeddedRepositoryConnectionTest.java index 676e90b..8fffa88 100644 --- a/libraries/kiwi/kiwi-caching-infinispan/src/test/java/org/apache/marmotta/kiwi/test/embedded/EmbeddedRepositoryConnectionTest.java +++ b/libraries/kiwi/kiwi-caching-infinispan/src/test/java/org/apache/marmotta/kiwi/test/embedded/EmbeddedRepositoryConnectionTest.java @@ -44,6 +44,7 @@ public class EmbeddedRepositoryConnectionTest extends RepositoryConnectionTest { config.setClustered(true); config.setClusterPort(61222); config.setCacheMode(CacheMode.LOCAL); + config.setClusterTimeout(10000); config.setCacheManager(CacheManagerType.INFINISPAN_CLUSTERED); } http://git-wip-us.apache.org/repos/asf/marmotta/blob/673b4f97/libraries/kiwi/kiwi-caching-infinispan/src/test/java/org/apache/marmotta/kiwi/test/embedded/EmbeddedRepositoryTest.java ---------------------------------------------------------------------- diff --git a/libraries/kiwi/kiwi-caching-infinispan/src/test/java/org/apache/marmotta/kiwi/test/embedded/EmbeddedRepositoryTest.java b/libraries/kiwi/kiwi-caching-infinispan/src/test/java/org/apache/marmotta/kiwi/test/embedded/EmbeddedRepositoryTest.java index 7094893..3796d68 100644 --- a/libraries/kiwi/kiwi-caching-infinispan/src/test/java/org/apache/marmotta/kiwi/test/embedded/EmbeddedRepositoryTest.java +++ b/libraries/kiwi/kiwi-caching-infinispan/src/test/java/org/apache/marmotta/kiwi/test/embedded/EmbeddedRepositoryTest.java @@ -44,6 +44,7 @@ public class EmbeddedRepositoryTest extends RepositoryTest { config.setClustered(true); config.setClusterPort(61222); config.setCacheMode(CacheMode.LOCAL); + config.setClusterTimeout(10000); config.setCacheManager(CacheManagerType.INFINISPAN_CLUSTERED); } http://git-wip-us.apache.org/repos/asf/marmotta/blob/673b4f97/libraries/kiwi/kiwi-caching-infinispan/src/test/java/org/apache/marmotta/kiwi/test/remote/HotRodRepositoryConnectionTest.java ---------------------------------------------------------------------- diff --git a/libraries/kiwi/kiwi-caching-infinispan/src/test/java/org/apache/marmotta/kiwi/test/remote/HotRodRepositoryConnectionTest.java b/libraries/kiwi/kiwi-caching-infinispan/src/test/java/org/apache/marmotta/kiwi/test/remote/HotRodRepositoryConnectionTest.java index 198c44c..7890df0 100644 --- a/libraries/kiwi/kiwi-caching-infinispan/src/test/java/org/apache/marmotta/kiwi/test/remote/HotRodRepositoryConnectionTest.java +++ b/libraries/kiwi/kiwi-caching-infinispan/src/test/java/org/apache/marmotta/kiwi/test/remote/HotRodRepositoryConnectionTest.java @@ -47,6 +47,7 @@ public class HotRodRepositoryConnectionTest extends RepositoryConnectionTest { config.setClusterAddress("127.0.0.1"); config.setClustered(true); config.setClusterPort(61222); + config.setClusterTimeout(10000); config.setCacheManager(CacheManagerType.INFINISPAN_HOTROD); } http://git-wip-us.apache.org/repos/asf/marmotta/blob/673b4f97/libraries/kiwi/kiwi-caching-infinispan/src/test/java/org/apache/marmotta/kiwi/test/remote/HotRodRepositoryTest.java ---------------------------------------------------------------------- diff --git a/libraries/kiwi/kiwi-caching-infinispan/src/test/java/org/apache/marmotta/kiwi/test/remote/HotRodRepositoryTest.java b/libraries/kiwi/kiwi-caching-infinispan/src/test/java/org/apache/marmotta/kiwi/test/remote/HotRodRepositoryTest.java index a7ee8a4..a026114 100644 --- a/libraries/kiwi/kiwi-caching-infinispan/src/test/java/org/apache/marmotta/kiwi/test/remote/HotRodRepositoryTest.java +++ b/libraries/kiwi/kiwi-caching-infinispan/src/test/java/org/apache/marmotta/kiwi/test/remote/HotRodRepositoryTest.java @@ -48,6 +48,7 @@ public class HotRodRepositoryTest extends RepositoryTest { config.setClusterAddress("127.0.0.1"); config.setClustered(true); config.setClusterPort(61222); + config.setClusterTimeout(10000); config.setCacheManager(CacheManagerType.INFINISPAN_HOTROD); } http://git-wip-us.apache.org/repos/asf/marmotta/blob/673b4f97/libraries/kiwi/kiwi-caching-infinispan/src/test/java/org/apache/marmotta/kiwi/test/remote/HotRodServerRule.java ---------------------------------------------------------------------- diff --git a/libraries/kiwi/kiwi-caching-infinispan/src/test/java/org/apache/marmotta/kiwi/test/remote/HotRodServerRule.java b/libraries/kiwi/kiwi-caching-infinispan/src/test/java/org/apache/marmotta/kiwi/test/remote/HotRodServerRule.java index 7029b1f..6e3dec2 100644 --- a/libraries/kiwi/kiwi-caching-infinispan/src/test/java/org/apache/marmotta/kiwi/test/remote/HotRodServerRule.java +++ b/libraries/kiwi/kiwi-caching-infinispan/src/test/java/org/apache/marmotta/kiwi/test/remote/HotRodServerRule.java @@ -107,7 +107,9 @@ public class HotRodServerRule implements TestRule { .proxyPort(port) .topologyStateTransfer(false) .defaultCacheName(BasicCacheContainer.DEFAULT_CACHE_NAME) - .idleTimeout(0) + .recvBufSize(4096) + .sendBufSize(4096) + //.idleTimeout(0) .workerThreads(2) .build(true); http://git-wip-us.apache.org/repos/asf/marmotta/blob/673b4f97/libraries/kiwi/kiwi-triplestore/src/main/java/org/apache/marmotta/kiwi/config/KiWiConfiguration.java ---------------------------------------------------------------------- diff --git a/libraries/kiwi/kiwi-triplestore/src/main/java/org/apache/marmotta/kiwi/config/KiWiConfiguration.java b/libraries/kiwi/kiwi-triplestore/src/main/java/org/apache/marmotta/kiwi/config/KiWiConfiguration.java index 2db24f2..6cf8ab4 100644 --- a/libraries/kiwi/kiwi-triplestore/src/main/java/org/apache/marmotta/kiwi/config/KiWiConfiguration.java +++ b/libraries/kiwi/kiwi-triplestore/src/main/java/org/apache/marmotta/kiwi/config/KiWiConfiguration.java @@ -137,6 +137,12 @@ public class KiWiConfiguration { */ private String clusterAddress = "228.6.7.8"; + + /** + * Socket timeout for cluster connections. + */ + private int clusterTimeout = 60000; + public KiWiConfiguration(String name, String jdbcUrl, String dbUser, String dbPassword, KiWiDialect dialect) { this(name, jdbcUrl, dbUser, dbPassword, dialect, null, null); } @@ -577,4 +583,13 @@ public class KiWiConfiguration { public void setClusterAddress(String clusterAddress) { this.clusterAddress = clusterAddress; } + + + public int getClusterTimeout() { + return clusterTimeout; + } + + public void setClusterTimeout(int clusterTimeout) { + this.clusterTimeout = clusterTimeout; + } }
