Thank you Stephen and Ilya for your response.
Please find my server and client config and let me know if I a missing
anything which is causing these delays. We have 8 jvm server nodes running
on Ignite 2.8.0 with 4gig each and each node is on separate host. We have 60
client nodes (Ignite 2.8.0) using this same client configuration. We are not
using persistence, it is purely in-memory. Both server and clients are in
same data center. Initially first few clients are able to connect in 1-2
minutes, but as it grows, last clients are taking 5-6 minutes. We really
want to reduce the connectivity time so that we can use map listener. Right
now, it became a road blocker to use any other thick client functionalities.
Can you please clarify below queries:
1) If client is not part of ring, any reason why it has to trigger PME ?
2) If it just connecting to one server node like thin client, does it
transfer/wait for any additional events before it successfully establish
connection, which is causing delays ?
3) Does a client node wait until all the other server and client
nodes get notified that it joined ?
4) I am defining cache on client config as well? I think it is not
required. Will it cause any delays during connectivity ?
5) Any plan / any other way to get map listener functionality in thin
client (other than continuous query) ?
Server config:
---------------
<bean id="MyGrid"
class="org.apache.ignite.configuration.IgniteConfiguration">
<property name="clientConnectorConfiguration">
<bean
class="org.apache.ignite.configuration.ClientConnectorConfiguration">
<property name="port" value="<port #>"/>
</bean>
</property>
<property name="igniteInstanceName" value="MyInstance"/>
<property name="peerClassLoadingEnabled" value="false"/>
<property name="systemWorkerBlockedTimeout" value="60000"/>
<property name="clientFailureDetectionTimeout" value="60000"/>
<property name="failureDetectionTimeout" value="60000"/>
<property name="includeProperties">
<array/>
</property>
<property name="cacheConfiguration">
<list>
<ref bean="Cache1"/>
</list>
</property>
<property name="binaryConfiguration">
<bean class="org.apache.ignite.configuration.BinaryConfiguration">
<property name="compactFooter" value="false"/>
<property name="typeConfigurations">
<list>
<bean class="org.apache.ignite.binary.BinaryTypeConfiguration">
<property name="typeName" value="a.b.c.MyClass"/>
</bean>
</list>
</property>
</bean>
</property>
<property name="communicationSpi">
<bean
class="org.apache.ignite.spi.communication.tcp.TcpCommunicationSpi">
<property name="localPort" value="<#Myport>"/>
<property name="localPortRange" value="50"/>
</bean>
</property>
<property name="discoverySpi">
<bean class="org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi">
<property name="localPort" value="<port#>"/>
<property name="ipFinder">
<bean
class="org.apache.ignite.spi.discovery.tcp.ipfinder.vm.TcpDiscoveryVmIpFinder">
<property name="addresses">
<list>
<value>localhost</value>
<value>host1:port#</value>
<value>host2:port#</value>
<value>host3:port#</value>
<value>host4:port#</value>
<value>host5:port#</value>
<value>host6:port#</value>
<value>host7:port#</value>
<value>host8:port#</value>
</list>
</property>
</bean>
</property>
</bean>
</property>
</bean>
<bean id="Cache1"
class="org.apache.ignite.configuration.CacheConfiguration">
<property name="name" value="Cache1"/>
<property name="storeKeepBinary" value="false"/>
<property name="statisticsEnabled" value="false"/>
<property name="sqlSchema" value="MySchema"/>
<property name="cacheMode" value="PARTITIONED"/>
<property name="backups" value="7"/>
<property name="writeSynchronizationMode" value="FULL_SYNC"/>
<property name="partitionLossPolicy" value="READ_WRITE_SAFE"/>
<property name="affinity">
<bean
class="org.apache.ignite.cache.affinity.rendezvous.RendezvousAffinityFunction">
<property name="excludeNeighbors" value="true"/>
</bean>
</property>
</bean>
Client config
---------------------
<bean id="MyGridClient"
class="org.apache.ignite.configuration.IgniteConfiguration">
<property name="clientMode" value="true"/>
<property name="igniteInstanceName" value="MyGridClient"/>
<property name="userAttributes" ref="userAttributes"/>
<property name="peerClassLoadingEnabled" value="false"/>
<property name="systemWorkerBlockedTimeout" value="60000"/>
<property name="clientFailureDetectionTimeout" value="60000"/>
<property name="failureDetectionTimeout" value="60000"/>
<property name="includeProperties">
<array/>
</property>
<list>
<ref bean="Cache1"/>
</list>
</property>
<property name="binaryConfiguration">
<bean
class="org.apache.ignite.configuration.BinaryConfiguration">
<property name="compactFooter" value="false"/>
<property name="typeConfigurations">
<list>
<bean
class="org.apache.ignite.binary.BinaryTypeConfiguration">
<property name="typeName"
value="a.b.c.MyClass"/>
</bean>
</list>
</property>
</bean>
</property>
<property name="communicationSpi">
<bean
class="org.apache.ignite.spi.communication.tcp.TcpCommunicationSpi">
<property name="localPort"
value="<MyPort#>"/>
<property name="localPortRange" value="50"/>
</bean>
</property>
<property name="discoverySpi">
<bean class="org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi">
<property name="localPort" value="<MyPort#>"/>
<property name="ipFinder">
<bean
class="org.apache.ignite.spi.discovery.tcp.ipfinder.vm.TcpDiscoveryVmIpFinder">
<property name="addresses">
<list>
<value>localhost</value>
<value>host1:port#</value>
<value>host2:port#</value>
<value>host3:port#</value>
<value>host4:port#</value>
<value>host5:port#</value>
<value>host6:port#</value>
<value>host7:port#</value>
<value>host8:port#</value>
</list>
</property>
</bean>
</property>
</bean>
</property>
</bean>
<bean id="Cache1"
class="org.apache.ignite.configuration.CacheConfiguration">
<property name="name" value="Cache1"/>
<property name="storeKeepBinary" value="false"/>
<property name="statisticsEnabled" value="false"/>
<property name="sqlSchema" value="MySchema"/>
<property name="cacheMode" value="PARTITIONED"/>
<property name="backups" value="7"/>
<property name="writeSynchronizationMode" value="FULL_SYNC"/>
<property name="partitionLossPolicy" value="READ_WRITE_SAFE"/>
<property name="affinity">
<bean
class="org.apache.ignite.cache.affinity.rendezvous.RendezvousAffinityFunction">
<property name="excludeNeighbors" value="true"/>
</bean>
</property>
</bean>
--
Sent from: http://apache-ignite-users.70518.x6.nabble.com/