You can configure this yourself in tc-config.xml. For example, using <tc-properties /> or <client-reconnect-window />
<tc-properties>
<!-- The optional <tc-properties> block contains tuning properties for the Terracotta cluster. This block is inserted at the beginning of the Terracotta configuration file. The properties defined here override default tc.properties but they are overridden by those found in a local tc.properties file and by those defined using system properties. The order of precedence, beginning with the source having least precedence, is: 1. Default tc.properties file located in tc.jar 2. <tc-properties> block in the Terracotta configuration file 3. Local tc.properties file 4. Properties defined using Java system properties ? -->
<!-- Terracotta-Server and Client-JVMs correspondences -->
<!-- L2 - L1 (L2 Terracotta Server, L1 Client) -->
<!-- According to the HealthChecker "Max Time" formula, the maximum time -->
<!-- before the Terracotta server considers a remote node to be lost is computed in the following way: -->
<!-- Max Time = (ping.idletime) + socketConnectCount * [(ping.interval * ping.probes) + (socketConnectTimeout * ping.interval)] -->
<!-- 10000 + 10[ (3 * 1000) + (5 * 1000) ] = 10000 + 80000 = 90000 ms -->
<!-- Terracotta server keeping tabs on client i.e. apache/tomcat shibboleth -->
<!-- The health checker declares the client dead in 90 seconds -->
<property value="true" name="l2.healthcheck.l1.ping.enabled"/>
<property value="10000" name="l2.healthcheck.l1.ping.idletime"/>
<property value="1000" name="l2.healthcheck.l1.ping.interval"/>
<property value="3" name="l2.healthcheck.l1.ping.probes"/>
<property value="true" name="l2.healthcheck.l1.socketConnect"/>
<property value="5" name="l2.healthcheck.l1.socketConnectTimeout"/>
<property value="10" name="l2.healthcheck.l1.socketConnectCount"/>
<property value="true" name="l2.l1reconnect.enabled"/>
<property value="120000" name="l2.l1reconnect.timeout.millis"/>
</tc-properties>
<servers>
<!-- How much time (in seconds) should the server, upon restart, allow for previously connected clients to reconnect? After this period, clients will not be allowed to reconnect. Default: 120 seconds -->
<client-reconnect-window>120</client-reconnect-window>
</servers>
3) In Open source Ehcache terracotta version, cache server will sync the all clients' nodes' JVM /OFF heap caches .if yes how much time it will takes ?
4) In Open source Ehcache terracotta version, if any client node update the JVM cache then either it will be synced on all the clients nodes' JVM/OFFheap caches ??
If you want nodes to share cached data, then you should configure ehcache.xml for "clustering" and "distributed persistence". Then set the appropriate timeouts.
<cache>
<persistence strategy="distributed"/>
<terracotta clustered="true">
<nonstop enabled="true" timeoutMillis="10000" />
</terracotta>
</cache>