Esempio n. 1
0
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
//ORIGINAL LINE: @Test public void ttlShouldBeInSeconds() throws Exception
//JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in C#:
        public virtual void TtlShouldBeInSeconds()
        {
            // given
//JAVA TO C# CONVERTER WARNING: The original Java variable was marked 'final':
//ORIGINAL LINE: final org.neo4j.causalclustering.discovery.CoreTopologyService coreTopologyService = mock(org.neo4j.causalclustering.discovery.CoreTopologyService.class);
            CoreTopologyService coreTopologyService = mock(typeof(CoreTopologyService));

            LeaderLocator leaderLocator = mock(typeof(LeaderLocator));

//JAVA TO C# CONVERTER WARNING: The original Java variable was marked 'final':
//ORIGINAL LINE: final org.neo4j.causalclustering.discovery.CoreTopology clusterTopology = new org.neo4j.causalclustering.discovery.CoreTopology(clusterId, false, new java.util.HashMap<>());
            CoreTopology clusterTopology = new CoreTopology(_clusterId, false, new Dictionary <MemberId, CoreServerInfo>());

            when(coreTopologyService.LocalCoreServers()).thenReturn(clusterTopology);
            when(coreTopologyService.LocalReadReplicas()).thenReturn(new ReadReplicaTopology(emptyMap()));

            // set the TTL in minutes
            Config.augment(cluster_routing_ttl, "10m");

//JAVA TO C# CONVERTER WARNING: The original Java variable was marked 'final':
//ORIGINAL LINE: final LegacyGetServersProcedure proc = new LegacyGetServersProcedure(coreTopologyService, leaderLocator, config, getInstance());
            LegacyGetServersProcedure proc = new LegacyGetServersProcedure(coreTopologyService, leaderLocator, Config, Instance);

            // when
            IList <object[]> results = new IList <object[]> {
                proc.Apply(null, new object[0], null)
            };

            // then
            object[] rows         = results[0];
            long     ttlInSeconds = ( long )rows[0];

            assertEquals(600, ttlInSeconds);
        }
Esempio n. 2
0
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
//ORIGINAL LINE: @Test public void shouldReturnNoWriteEndpointsIfThereIsNoAddressForTheLeader() throws Exception
//JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in C#:
        public virtual void ShouldReturnNoWriteEndpointsIfThereIsNoAddressForTheLeader()
        {
            // given
//JAVA TO C# CONVERTER WARNING: The original Java variable was marked 'final':
//ORIGINAL LINE: final org.neo4j.causalclustering.discovery.CoreTopologyService topologyService = mock(org.neo4j.causalclustering.discovery.CoreTopologyService.class);
            CoreTopologyService topologyService = mock(typeof(CoreTopologyService));

            IDictionary <MemberId, CoreServerInfo> coreMembers = new Dictionary <MemberId, CoreServerInfo>();

            coreMembers[member(0)] = addressesForCore(0, false);

            when(topologyService.LocalCoreServers()).thenReturn(new CoreTopology(_clusterId, false, coreMembers));
            when(topologyService.LocalReadReplicas()).thenReturn(new ReadReplicaTopology(emptyMap()));

            LeaderLocator leaderLocator = mock(typeof(LeaderLocator));

            when(leaderLocator.Leader).thenReturn(member(1));

            LegacyGetServersProcedure procedure = new LegacyGetServersProcedure(topologyService, leaderLocator, Config, Instance);

            // when
            ClusterView clusterView = Run(procedure);

            // then

            ClusterView.Builder builder = new ClusterView.Builder();
            builder.ReadAddress(addressesForCore(0, false).connectors().boltAddress());
            builder.RouteAddress(addressesForCore(0, false).connectors().boltAddress());

            assertEquals(builder.Build(), clusterView);
        }
Esempio n. 3
0
 public LeaderOnlyLockManager(MemberId myself, Replicator replicator, LeaderLocator leaderLocator, Locks localLocks, ReplicatedLockTokenStateMachine lockTokenStateMachine)
 {
     this._myself                = myself;
     this._replicator            = replicator;
     this._leaderLocator         = leaderLocator;
     this._localLocks            = localLocks;
     this._lockTokenStateMachine = lockTokenStateMachine;
 }
Esempio n. 4
0
//JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in C#:
//ORIGINAL LINE: public void init(org.neo4j.causalclustering.discovery.TopologyService topologyService, org.neo4j.causalclustering.core.consensus.LeaderLocator leaderLocator, org.neo4j.logging.LogProvider logProvider, org.neo4j.kernel.configuration.Config config) throws InvalidFilterSpecification
        public override void Init(TopologyService topologyService, LeaderLocator leaderLocator, LogProvider logProvider, Config config)
        {
            this._topologyService       = topologyService;
            this._leaderLocator         = leaderLocator;
            this._timeToLive            = config.Get(CausalClusteringSettings.cluster_routing_ttl).toMillis();
            this._allowReadsOnFollowers = config.Get(CausalClusteringSettings.cluster_allow_reads_on_followers);
            this._policies = load(config, PLUGIN_NAME, logProvider.getLog(this.GetType()));
        }
Esempio n. 5
0
 public GetServersProcedureForSingleDC(TopologyService topologyService, LeaderLocator leaderLocator, Config config, LogProvider logProvider)
 {
     if (!InstanceFieldsInitialized)
     {
         InitializeInstanceFields();
         InstanceFieldsInitialized = true;
     }
     this._topologyService = topologyService;
     this._leaderLocator   = leaderLocator;
     this._config          = config;
     this._log             = logProvider.getLog(this.GetType());
 }
Esempio n. 6
0
//JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in C#:
//ORIGINAL LINE: public static LoadBalancingProcessor load(org.neo4j.causalclustering.discovery.TopologyService topologyService, org.neo4j.causalclustering.core.consensus.LeaderLocator leaderLocator, org.neo4j.logging.LogProvider logProvider, org.neo4j.kernel.configuration.Config config) throws Throwable
		 public static LoadBalancingProcessor Load( TopologyService topologyService, LeaderLocator leaderLocator, LogProvider logProvider, Config config )
		 {
			  LoadBalancingPlugin plugin = FindPlugin( config );
			  plugin.Init( topologyService, leaderLocator, logProvider, config );

			  if ( config.Get( CausalClusteringSettings.load_balancing_shuffle ) )
			  {
					return new ServerShufflingProcessor( plugin );
			  }

			  return plugin;
		 }
Esempio n. 7
0
 public LegacyGetServersProcedure(TopologyService topologyService, LeaderLocator leaderLocator, Config config, LogProvider logProvider)
 {
     if (!InstanceFieldsInitialized)
     {
         InitializeInstanceFields();
         InstanceFieldsInitialized = true;
     }
     this._topologyService = topologyService;
     this._leaderLocator   = leaderLocator;
     this._config          = config;
     this._log             = logProvider.getLog(this.GetType());
     this._dbName          = config.Get(CausalClusteringSettings.database);
 }
Esempio n. 8
0
 public RaftReplicator(LeaderLocator leaderLocator, MemberId me, Outbound <MemberId, Org.Neo4j.causalclustering.core.consensus.RaftMessages_RaftMessage> outbound, LocalSessionPool sessionPool, ProgressTracker progressTracker, TimeoutStrategy progressTimeoutStrategy, long availabilityTimeoutMillis, AvailabilityGuard availabilityGuard, LogProvider logProvider, LocalDatabase localDatabase, Monitors monitors)
 {
     this._me                        = me;
     this._outbound                  = outbound;
     this._progressTracker           = progressTracker;
     this._sessionPool               = sessionPool;
     this._progressTimeoutStrategy   = progressTimeoutStrategy;
     this._availabilityTimeoutMillis = availabilityTimeoutMillis;
     this._availabilityGuard         = availabilityGuard;
     this._log                       = logProvider.getLog(this.GetType());
     this._localDatabase             = localDatabase;
     this._replicationMonitor        = monitors.NewMonitor(typeof(ReplicationMonitor));
     this._leaderProvider            = new LeaderProvider();
     leaderLocator.RegisterListener(this);
 }
Esempio n. 9
0
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
//ORIGINAL LINE: @Test public void shouldReturnEndpointsInDifferentOrders() throws Exception
//JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in C#:
        public virtual void ShouldReturnEndpointsInDifferentOrders()
        {
            // given
//JAVA TO C# CONVERTER WARNING: The original Java variable was marked 'final':
//ORIGINAL LINE: final org.neo4j.causalclustering.discovery.CoreTopologyService coreTopologyService = mock(org.neo4j.causalclustering.discovery.CoreTopologyService.class);
            CoreTopologyService coreTopologyService = mock(typeof(CoreTopologyService));

            LeaderLocator leaderLocator = mock(typeof(LeaderLocator));

            when(leaderLocator.Leader).thenReturn(member(0));

            IDictionary <MemberId, CoreServerInfo> coreMembers = new Dictionary <MemberId, CoreServerInfo>();

            coreMembers[member(0)] = addressesForCore(0, false);
            coreMembers[member(1)] = addressesForCore(1, false);
            coreMembers[member(2)] = addressesForCore(2, false);

//JAVA TO C# CONVERTER WARNING: The original Java variable was marked 'final':
//ORIGINAL LINE: final org.neo4j.causalclustering.discovery.CoreTopology clusterTopology = new org.neo4j.causalclustering.discovery.CoreTopology(clusterId, false, coreMembers);
            CoreTopology clusterTopology = new CoreTopology(_clusterId, false, coreMembers);

            when(coreTopologyService.LocalCoreServers()).thenReturn(clusterTopology);
            when(coreTopologyService.LocalReadReplicas()).thenReturn(new ReadReplicaTopology(emptyMap()));

//JAVA TO C# CONVERTER WARNING: The original Java variable was marked 'final':
//ORIGINAL LINE: final LegacyGetServersProcedure proc = new LegacyGetServersProcedure(coreTopologyService, leaderLocator, config, getInstance());
            LegacyGetServersProcedure proc = new LegacyGetServersProcedure(coreTopologyService, leaderLocator, _config, Instance);

            // when
            object[] endpoints = GetEndpoints(proc);

            //then
            object[] endpointsInDifferentOrder = GetEndpoints(proc);
            for (int i = 0; i < 100; i++)
            {
                if (Arrays.deepEquals(endpointsInDifferentOrder, endpoints))
                {
                    endpointsInDifferentOrder = GetEndpoints(proc);
                }
                else
                {
                    //Different order of servers, no need to retry.
                    break;
                }
            }
            assertFalse(Arrays.deepEquals(endpoints, endpointsInDifferentOrder));
        }
Esempio n. 10
0
        private Locks CreateLockManager(LocksFactory locksFactory, Config config, Clock clock, Replicator replicator, MemberId myself, LeaderLocator leaderLocator, ReplicatedLockTokenStateMachine lockTokenStateMachine)
        {
            Locks localLocks = EditionLocksFactories.createLockManager(locksFactory, config, clock);

            return(new LeaderOnlyLockManager(myself, replicator, leaderLocator, localLocks, lockTokenStateMachine));
        }
Esempio n. 11
0
 public override void Init(TopologyService topologyService, LeaderLocator leaderLocator, LogProvider logProvider, Config config)
 {
     WasInitialized = true;
 }