Actuellement, j'ai un IMap sauvegardé avec un MapStore. Ce IMap est chargé au démarrage et possède des millions d'entrées. Lorsque la carte est entièrement chargée, les clients récupèrent les entrées en utilisant Imap.values () avec des prédicats. Ce chargement fonctionne bien pour moi au démarrage.Est-ce que le blocage de chargement distribué noisette?
Maintenant, je dois recharger de manière péridégale toutes les données (par exemple, toutes les 2 heures). J'utilise IMap.loadAll (true) pour forcer le rechargement. Le MapStore (loadAllKeys() + loadAll (keys)) prend environ 4 minutes pour terminer la charge complète. Il semble que dans ces 4 minutes, tous les clients qui envoient des requêtes à l'imap via des prédicats sont bloqués jusqu'à ce que le rechargement soit terminé.
Dans mon cas, je ne peux pas bloquer le cluster 4 minutes (ni une seconde en fait).
- est réellement le Imap.loadAll bloquant les requêtes de prédicats?
- est possible de configurer l'imap comme non bloquant ou existe une alternative non bloquante à IMap.loadAll().
J'essaie avec HC 3.7.2, avec 2 nœuds et java 8.
Merci Tom! Créé: https://github.com/hazelcast/hazelcast/issues/9467 – jnmts