In the book "Hazelcast Wizard " in the section "17.4.1. Operations with Partition Support" it states:
To perform operations related to the separation, an array of workflows is created.
One workflow performs operations for several partitions;
Each section belongs to only one workflow.
Suppose I have a default 271 partition in a 17-node cluster, each of which has 16 partitions. Distributing partitions across a cluster, this means that all partitions will have one thread associated with it, and each thread will have only 1 partition (it seems optimal for me).
Ignoring backups and cache caches when creating an IMap instance means that this can mean that only one simultaneous put / get operation can be performed on each cluster cluster in a cluster? If I add MapStore, does this mean that I can have only 271 simultaneous operations with my backend database, since there is no way to make async MapStores?
My reason for this is that I have a very parallel web application and I recently switched the datastore to work with the Hazelcast IMap in front of it. The application accepts thousands of simultaneous connections, and almost every single request performs at least a receive operation from a distributed card. I see a lot of such errors:
com.hazelcast.core.OperationTimeoutException: No response for 20000 ms. Aborting invocation! Invocation{serviceName='hz:impl:mapService', op=com.hazelcast.map.impl.operation.GetOperation{identityHash=1003806362, serviceName='hz:impl:mapService', partitionId=244, replicaIndex=0, callId=55212219, invocationTime=1462913274676 (Tue May 10 20:47:54 UTC 2016), waitTimeout=-1, callTimeout=10000, name=..., name=...}, partitionId=244, replicaIndex=0, tryCount=250, tryPauseMillis=500, invokeCount=1, callTimeout=10000, target=Address[10.0.2.221]:5701, backupsExpected=0, backupsCompleted=0, connection=Connection [/10.0.2.219:5701 -> /10.0.2.221:14565], endpoint=Address[10.0.2.221]:5701, alive=true, type=MEMBER} No response has been received! backups-expected:0 backups-completed: 0
Could this just be caused by the fact that MapStore blocks the stream of the partition when trying to retrieve from the database? I should also note that while he says No response for 20000 ms , 20 seconds have not passed.
I am running Hazelcast 3.6.2 on Java 8.