コード例 #1
0
//JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in C#:
//ORIGINAL LINE: public void start0() throws InterruptedException
        public override void Start0()
        {
            _coreTopology             = _sharedDiscoveryService.getCoreTopology(this);
            _localCoreTopology        = _coreTopology.filterTopologyByDb(_localDBName);
            _readReplicaTopology      = _sharedDiscoveryService.ReadReplicaTopology;
            _localReadReplicaTopology = _readReplicaTopology.filterTopologyByDb(_localDBName);

            _sharedDiscoveryService.registerCoreMember(this);
            Log.info("Registered core server %s", MyselfConflict);

            _sharedDiscoveryService.waitForClusterFormation();
            Log.info("Cluster formed");
        }
コード例 #2
0
        public override bool Equals(object o)
        {
            if (this == o)
            {
                return(true);
            }
            if (o == null || this.GetType() != o.GetType())
            {
                return(false);
            }
            ReadReplicaTopology that = ( ReadReplicaTopology )o;

            return(Objects.Equals(_readReplicaMembers, that._readReplicaMembers));
        }
コード例 #3
0
        /// <summary>
        /// Caches the topology so that the lookups are fast.
        /// </summary>
//JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in C#:
//ORIGINAL LINE: private void refreshTopology() throws HazelcastInstanceNotActiveException
        private void RefreshTopology()
        {
            CoreTopology newCoreTopology = _hzInstance.apply(hz => getCoreTopology(hz, _config, _log));

            _coreTopology      = newCoreTopology;
            _localCoreTopology = newCoreTopology.FilterTopologyByDb(_dbName);

            ReadReplicaTopology newReadReplicaTopology = _hzInstance.apply(hz => getReadReplicaTopology(hz, _log));

            _readReplicaTopology      = newReadReplicaTopology;
            _localReadReplicaTopology = newReadReplicaTopology.FilterTopologyByDb(_dbName);

            _catchupAddressMap = extractCatchupAddressesMap(LocalCoreServers(), LocalReadReplicas());
        }
コード例 #4
0
//JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in C#:
//ORIGINAL LINE: private void refreshReadReplicaTopology() throws InterruptedException
        private void RefreshReadReplicaTopology()
        {
            WaitOnHazelcastInstanceCreation();

            ReadReplicaTopology newReadReplicaTopology = getReadReplicaTopology(_hazelcastInstance, Log);
            TopologyDifference  difference             = _readReplicaTopology.difference(newReadReplicaTopology);

            this._readReplicaTopology      = newReadReplicaTopology;
            this._localReadReplicaTopology = newReadReplicaTopology.FilterTopologyByDb(_localDBName);

            if (difference.HasChanges())
            {
                Log.info("Read replica topology changed %s", difference);
            }
        }
コード例 #5
0
 internal virtual void OnReadReplicaTopologyChange(ReadReplicaTopology readReplicaTopology)
 {
     Log.info("Notified of read replica topology change " + readReplicaTopology);
     this._readReplicaTopology      = readReplicaTopology;
     this._localReadReplicaTopology = readReplicaTopology.FilterTopologyByDb(_localDBName);
 }
コード例 #6
0
 public ClusterTopology(CoreTopology coreTopology, ReadReplicaTopology readReplicaTopology)
 {
     this._coreTopology        = coreTopology;
     this._readReplicaTopology = readReplicaTopology;
 }
コード例 #7
0
        public static IDictionary <MemberId, AdvertisedSocketAddress> ExtractCatchupAddressesMap(CoreTopology coreTopology, ReadReplicaTopology rrTopology)
        {
            IDictionary <MemberId, AdvertisedSocketAddress> catchupAddressMap = new Dictionary <MemberId, AdvertisedSocketAddress>();

            foreach (KeyValuePair <MemberId, CoreServerInfo> entry in coreTopology.Members().SetOfKeyValuePairs())
            {
                catchupAddressMap[entry.Key] = entry.Value.CatchupServer;
            }

            foreach (KeyValuePair <MemberId, ReadReplicaInfo> entry in rrTopology.Members().SetOfKeyValuePairs())
            {
                catchupAddressMap[entry.Key] = entry.Value.CatchupServer;
            }

            return(catchupAddressMap);
        }