Hazelcast Header Count and Concurrency Stream

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.

+5
source share
1 answer

gnoring backups and near-caches, when I create an IMap instance, does this mean that I can only ever perform 1 simultaneous put / get operation on each map segment in the cluster?

Right. Thus, it may be that section 25 of map a and map b is busy processing the operation for map b, and this requires waiting for the operation for map.

Going further if I attach MapStore, does this mean that I can have only 271 simultaneous operations with my database, since there is no way to make async MapStores?

For recording via mapstore β†’ yes. But I am not the family that has streambe modeled using writebehind (async).

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 answer” for 20,000 ms, 20 seconds have passed.

This may be the reason.

+2
source

All Articles