public ClusteringModule(DiscoveryServiceFactory discoveryServiceFactory, MemberId myself, PlatformModule platformModule, File clusterStateDirectory, DatabaseLayout databaseLayout) { LifeSupport life = platformModule.Life; Config config = platformModule.Config; LogProvider logProvider = platformModule.Logging.InternalLogProvider; LogProvider userLogProvider = platformModule.Logging.UserLogProvider; Dependencies dependencies = platformModule.Dependencies; Monitors monitors = platformModule.Monitors; FileSystemAbstraction fileSystem = platformModule.FileSystem; RemoteMembersResolver remoteMembersResolver = chooseResolver(config, platformModule.Logging); _topologyService = discoveryServiceFactory.CoreTopologyService(config, myself, platformModule.JobScheduler, logProvider, userLogProvider, remoteMembersResolver, ResolveStrategy(config, logProvider), monitors); life.Add(_topologyService); dependencies.SatisfyDependency(_topologyService); // for tests CoreBootstrapper coreBootstrapper = new CoreBootstrapper(databaseLayout, platformModule.PageCache, fileSystem, config, logProvider, platformModule.Monitors); SimpleStorage <ClusterId> clusterIdStorage = new SimpleFileStorage <ClusterId>(fileSystem, clusterStateDirectory, CLUSTER_ID_NAME, new ClusterId.Marshal(), logProvider); SimpleStorage <DatabaseName> dbNameStorage = new SimpleFileStorage <DatabaseName>(fileSystem, clusterStateDirectory, DB_NAME, new DatabaseName.Marshal(), logProvider); string dbName = config.Get(CausalClusteringSettings.database); int minimumCoreHosts = config.Get(CausalClusteringSettings.minimum_core_cluster_size_at_formation); Duration clusterBindingTimeout = config.Get(CausalClusteringSettings.cluster_binding_timeout); _clusterBinder = new ClusterBinder(clusterIdStorage, dbNameStorage, _topologyService, Clocks.systemClock(), () => sleep(100), clusterBindingTimeout, coreBootstrapper, dbName, minimumCoreHosts, platformModule.Monitors); }
internal IdentityModule(PlatformModule platformModule, File clusterStateDirectory) { FileSystemAbstraction fileSystem = platformModule.FileSystem; LogProvider logProvider = platformModule.Logging.InternalLogProvider; Log log = logProvider.getLog(this.GetType()); SimpleStorage <MemberId> memberIdStorage = new SimpleFileStorage <MemberId>(fileSystem, clusterStateDirectory, CORE_MEMBER_ID_NAME, new MemberId.Marshal(), logProvider); try { if (memberIdStorage.Exists()) { _myself = memberIdStorage.ReadState(); if (_myself == null) { throw new Exception("I was null"); } } else { System.Guid uuid = System.Guid.randomUUID(); _myself = new MemberId(uuid); memberIdStorage.WriteState(_myself); log.Info(string.Format("Generated new id: {0} ({1})", _myself, uuid)); } } catch (IOException e) { throw new Exception(e); } platformModule.JobScheduler.TopLevelGroupName = "Core " + _myself; }
//JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in C#: //ORIGINAL LINE: private void createStates() throws java.io.IOException private void CreateStates() { SimpleStorage <MemberId> memberIdStorage = new SimpleFileStorage <MemberId>(Fsa.get(), _clusterStateDirectory.get(), CORE_MEMBER_ID_NAME, new MemberId.Marshal(), NullLogProvider.Instance); memberIdStorage.WriteState(new MemberId(System.Guid.randomUUID())); CreateDurableState(LAST_FLUSHED_NAME, new LongIndexMarshal()); CreateDurableState(LOCK_TOKEN_NAME, new ReplicatedLockTokenState.Marshal(new MemberId.Marshal())); CreateDurableState(ID_ALLOCATION_NAME, new IdAllocationState.Marshal()); CreateDurableState(SESSION_TRACKER_NAME, new GlobalSessionTrackerState.Marshal(new MemberId.Marshal())); /* raft state */ CreateDurableState(RAFT_MEMBERSHIP_NAME, new RaftMembershipState.Marshal()); CreateDurableState(RAFT_TERM_NAME, new TermState.Marshal()); CreateDurableState(RAFT_VOTE_NAME, new VoteState.Marshal(new MemberId.Marshal())); }
//JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in C#: //ORIGINAL LINE: void dump() throws java.io.IOException internal virtual void Dump() { SimpleStorage <MemberId> memberIdStorage = new SimpleFileStorage <MemberId>(_fs, _clusterStateDirectory, CORE_MEMBER_ID_NAME, new MemberId.Marshal(), NullLogProvider.Instance); if (memberIdStorage.Exists()) { MemberId memberId = memberIdStorage.ReadState(); @out.println(CORE_MEMBER_ID_NAME + ": " + memberId); } DumpState(LAST_FLUSHED_NAME, new LongIndexMarshal()); DumpState(LOCK_TOKEN_NAME, new ReplicatedLockTokenState.Marshal(new MemberId.Marshal())); DumpState(ID_ALLOCATION_NAME, new IdAllocationState.Marshal()); DumpState(SESSION_TRACKER_NAME, new GlobalSessionTrackerState.Marshal(new MemberId.Marshal())); /* raft state */ DumpState(RAFT_MEMBERSHIP_NAME, new RaftMembershipState.Marshal()); DumpState(RAFT_TERM_NAME, new TermState.Marshal()); DumpState(RAFT_VOTE_NAME, new VoteState.Marshal(new MemberId.Marshal())); }
//JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in C#: //ORIGINAL LINE: private void changeClusterId(org.neo4j.causalclustering.discovery.CoreClusterMember coreMember) throws java.io.IOException private void ChangeClusterId(CoreClusterMember coreMember) { SimpleStorage <ClusterId> clusterIdStorage = new SimpleFileStorage <ClusterId>(_fs, coreMember.ClusterStateDirectory(), CLUSTER_ID_NAME, new ClusterId.Marshal(), NullLogProvider.Instance); clusterIdStorage.WriteState(new ClusterId(System.Guid.randomUUID())); }