コード例 #1
0
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
//ORIGINAL LINE: @Test public void roundRobinSomeFailing()
        public virtual void RoundRobinSomeFailing()
        {
            TransactionPropagator propagator = NewPropagator(4, 2, roundRobin(), false, true);

            for (long tx = 2; tx <= 6; tx++)
            {
                propagator.Committed(tx, MASTER_SERVER_ID);
            }

            /* SLAVE |    TX
             *   0   | 2     5 6
             * F 1   |
             *   2   | 2 3 4   6
             *   3   |   3 4 5
             */

            IEnumerator <Slave> slaveIt = _slaves.GetEnumerator();

//JAVA TO C# CONVERTER TODO TASK: Java iterators are only converted within the context of 'while' and 'for' loops:
            AssertCalls(( FakeSlave )slaveIt.next(), 2, 5, 6);
//JAVA TO C# CONVERTER TODO TASK: Java iterators are only converted within the context of 'while' and 'for' loops:
            slaveIt.next();
//JAVA TO C# CONVERTER TODO TASK: Java iterators are only converted within the context of 'while' and 'for' loops:
            AssertCalls(( FakeSlave )slaveIt.next(), 2, 3, 4, 6);
//JAVA TO C# CONVERTER TODO TASK: Java iterators are only converted within the context of 'while' and 'for' loops:
            AssertCalls(( FakeSlave )slaveIt.next(), 3, 4, 5);
            _logProvider.assertNone(_communicationLogMessage);
        }
コード例 #2
0
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
//ORIGINAL LINE: @Test public void commitSuccessfullyToTheFirstOne()
        public virtual void CommitSuccessfullyToTheFirstOne()
        {
            TransactionPropagator propagator = NewPropagator(3, 1, givenOrder());

            propagator.Committed(2, MASTER_SERVER_ID);
            AssertCalls(( FakeSlave )_slaves.GetEnumerator().next(), 2L);
            _logProvider.assertNone(_communicationLogMessage);
        }
コード例 #3
0
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
//ORIGINAL LINE: @Test public void commitFailureAtFirstOneShouldMoveOnToNext()
        public virtual void CommitFailureAtFirstOneShouldMoveOnToNext()
        {
            TransactionPropagator propagator = NewPropagator(3, 1, givenOrder(), true);

            propagator.Committed(2, MASTER_SERVER_ID);
            IEnumerator <Slave> slaveIt = _slaves.GetEnumerator();

//JAVA TO C# CONVERTER TODO TASK: Java iterators are only converted within the context of 'while' and 'for' loops:
            AssertCalls(( FakeSlave )slaveIt.next());
//JAVA TO C# CONVERTER TODO TASK: Java iterators are only converted within the context of 'while' and 'for' loops:
            AssertCalls(( FakeSlave )slaveIt.next(), 2);
            _logProvider.assertNone(_communicationLogMessage);
        }
コード例 #4
0
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
//ORIGINAL LINE: @Test public void roundRobinSingleSlave()
        public virtual void RoundRobinSingleSlave()
        {
            TransactionPropagator propagator = NewPropagator(3, 1, roundRobin());

            for (long tx = 2; tx <= 6; tx++)
            {
                propagator.Committed(tx, MASTER_SERVER_ID);
            }
            IEnumerator <Slave> slaveIt = _slaves.GetEnumerator();

//JAVA TO C# CONVERTER TODO TASK: Java iterators are only converted within the context of 'while' and 'for' loops:
            AssertCalls(( FakeSlave )slaveIt.next(), 2, 5);
//JAVA TO C# CONVERTER TODO TASK: Java iterators are only converted within the context of 'while' and 'for' loops:
            AssertCalls(( FakeSlave )slaveIt.next(), 3, 6);
//JAVA TO C# CONVERTER TODO TASK: Java iterators are only converted within the context of 'while' and 'for' loops:
            AssertCalls(( FakeSlave )slaveIt.next(), 4);
            _logProvider.assertNone(_communicationLogMessage);
        }
コード例 #5
0
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
//ORIGINAL LINE: @Test public void commitSuccessfullyOnSomeOfThreeSlaves()
        public virtual void CommitSuccessfullyOnSomeOfThreeSlaves()
        {
            TransactionPropagator propagator = NewPropagator(5, 3, givenOrder(), false, true, true);

            propagator.Committed(2, MASTER_SERVER_ID);
            IEnumerator <Slave> slaveIt = _slaves.GetEnumerator();

//JAVA TO C# CONVERTER TODO TASK: Java iterators are only converted within the context of 'while' and 'for' loops:
            AssertCalls(( FakeSlave )slaveIt.next(), 2);
//JAVA TO C# CONVERTER TODO TASK: Java iterators are only converted within the context of 'while' and 'for' loops:
            slaveIt.next();
//JAVA TO C# CONVERTER TODO TASK: Java iterators are only converted within the context of 'while' and 'for' loops:
            slaveIt.next();
//JAVA TO C# CONVERTER TODO TASK: Java iterators are only converted within the context of 'while' and 'for' loops:
            AssertCalls(( FakeSlave )slaveIt.next(), 2);
//JAVA TO C# CONVERTER TODO TASK: Java iterators are only converted within the context of 'while' and 'for' loops:
            AssertCalls(( FakeSlave )slaveIt.next(), 2);
            _logProvider.assertNone(_communicationLogMessage);
        }
コード例 #6
0
        private TransactionPropagator NewPropagator(int slaveCount, int replication, SlavePriority slavePriority, params bool[] failingSlaves)
        {
            _slaves = InstantiateSlaves(slaveCount, failingSlaves);

            Config                config    = Config.defaults(MapUtil.stringMap(HaSettings.TxPushFactor.name(), "" + replication, ClusterSettings.server_id.name(), "" + MASTER_SERVER_ID));
            JobScheduler          scheduler = Cleanup.add(createInitialisedScheduler());
            TransactionPropagator result    = new TransactionPropagator(TransactionPropagator.from(config, slavePriority), NullLog.Instance, () => _slaves, new CommitPusher(scheduler));

            // Life
            try
            {
                scheduler.Start();

                result.Init();
                result.Start();
            }
            catch (Exception e)
            {
                throw new Exception(e);
            }
            return(result);
        }