2 Ocak 2023 Pazartesi

HazelcastAPI IPartitionService Arayüzü

Giriş
Şu satırı dahil ederiz
import com.hazelcast.internal.partition.IPartitionService ;
Kalıtım şöyle
CoreService
  IPartitionService
    InternalPartitionServiceImpl

Partition Arrangement
Açıklaması şöyle
Initial partition arrangement by default occurs lazily when the first partition operation hits the cluster. So once a partition op appears for execution, partition assignments will be split across the 2 members

constructor
InternalPartitionServiceImpl içindeki kod şöyle. İşte meşhur 271 sayısı ClusterProperty.PARTITION_COUNT sabitinden geliyor.
public InternalPartitionServiceImpl(Node node) {
  HazelcastProperties properties = node.getProperties();
  this.partitionCount = properties.getInteger(ClusterProperty.PARTITION_COUNT);
  ...
}
getPartitionCount metodu
Cluster içinde kaç tane partition olduğunu belirtir

isPartitionAssignmentDone metodu
Bu member için partition ataması yapılıp yapılmadığını belirtir
Örnek
Şöyle yaparız
if (!nodeEngine.getPartitionService().isPartitionAssignmentDone()
  && !hazelcastInstance.getCluster().getClusterState().isMigrationAllowed()) {
    // partitions have not been assigned yet and migrations are not allowed
    // so sql catalog can have no values -> skip check, because we anyway cannot
    // iterate over sqlCatalog values (operation will fail with exception, since
    // partition assignments do not exist and cannot be triggered).
    logger.info("Skipping data connection consistency check because"
                    + " initial partition assignment is not done yet.");
    return;
}


Hiç yorum yok:

Yorum Gönder

THIRD-PARTY.txt Dosyası

Kullanılan harici kütüphanelerin sürümleri bu dosyada Dosyanın yolu şöyle hazelcast/licenses/THIRD-PARTY.txt