def __init__(self, selfNodeAddr, otherNodeAddrs, compactionTest = 0, dumpFile = None, compactionTest2 = False, password = None, randTest = False): cfg = SyncObjConf(autoTick=False, appendEntriesUseBatch=False) cfg.appendEntriesPeriod = 0.1 cfg.raftMinTimeout = 0.5 cfg.raftMaxTimeout = 1.0 if compactionTest: cfg.logCompactionMinEntries = compactionTest cfg.logCompactionMinTime = 0.1 cfg.appendEntriesUseBatch = True cfg.fullDumpFile = dumpFile if compactionTest2: cfg.logCompactionMinEntries = 99999 cfg.logCompactionMinTime = 99999 cfg.fullDumpFile = dumpFile if password is not None: cfg.password = password if randTest: cfg.autoTickPeriod = 0.05 cfg.appendEntriesPeriod = 0.02 cfg.raftMinTimeout = 0.1 cfg.raftMaxTimeout = 0.2 cfg.logCompactionMinTime = 9999999 cfg.logCompactionMinEntries = 9999999 super(TestObj, self).__init__(selfNodeAddr, otherNodeAddrs, cfg) self.__counter = 0 self.__data = {}
def __init__(self, selfNodeAddr, otherNodeAddrs, testType=TEST_TYPE.DEFAULT, compactionMinEntries=0, dumpFile=None, journalFile=None, password=None, dynamicMembershipChange=False, useFork=True): cfg = SyncObjConf(autoTick=False, appendEntriesUseBatch=False) cfg.appendEntriesPeriod = 0.1 cfg.raftMinTimeout = 0.5 cfg.raftMaxTimeout = 1.0 cfg.dynamicMembershipChange = dynamicMembershipChange if dumpFile is not None: cfg.fullDumpFile = dumpFile if password is not None: cfg.password = password cfg.useFork = useFork if testType == TEST_TYPE.COMPACTION_1: cfg.logCompactionMinEntries = compactionMinEntries cfg.logCompactionMinTime = 0.1 cfg.appendEntriesUseBatch = True if testType == TEST_TYPE.COMPACTION_2: cfg.logCompactionMinEntries = 99999 cfg.logCompactionMinTime = 99999 cfg.fullDumpFile = dumpFile if testType == TEST_TYPE.RAND_1: cfg.autoTickPeriod = 0.05 cfg.appendEntriesPeriod = 0.02 cfg.raftMinTimeout = 0.1 cfg.raftMaxTimeout = 0.2 cfg.logCompactionMinTime = 9999999 cfg.logCompactionMinEntries = 9999999 cfg.journalFile = journalFile if testType == TEST_TYPE.JOURNAL_1: cfg.logCompactionMinTime = 999999 cfg.logCompactionMinEntries = 999999 cfg.fullDumpFile = dumpFile cfg.journalFile = journalFile if testType == TEST_TYPE.AUTO_TICK_1: cfg.autoTick = True cfg.pollerType = 'select' super(TestObj, self).__init__(selfNodeAddr, otherNodeAddrs, cfg) self.__counter = 0 self.__data = {}
def __init__(self, selfNodeAddr, otherNodeAddrs, testType = TEST_TYPE.DEFAULT, compactionMinEntries = 0, dumpFile = None, password = None, dynamicMembershipChange = False): cfg = SyncObjConf(autoTick=False, appendEntriesUseBatch=False) cfg.appendEntriesPeriod = 0.1 cfg.raftMinTimeout = 0.5 cfg.raftMaxTimeout = 1.0 cfg.dynamicMembershipChange = dynamicMembershipChange if dumpFile is not None: cfg.fullDumpFile = dumpFile if password is not None: cfg.password = password if testType == TEST_TYPE.COMPACTION_1: cfg.logCompactionMinEntries = compactionMinEntries cfg.logCompactionMinTime = 0.1 cfg.appendEntriesUseBatch = True if testType == TEST_TYPE.COMPACTION_2: cfg.logCompactionMinEntries = 99999 cfg.logCompactionMinTime = 99999 cfg.fullDumpFile = dumpFile if testType == TEST_TYPE.RAND_1: cfg.autoTickPeriod = 0.05 cfg.appendEntriesPeriod = 0.02 cfg.raftMinTimeout = 0.1 cfg.raftMaxTimeout = 0.2 cfg.logCompactionMinTime = 9999999 cfg.logCompactionMinEntries = 9999999 super(TestObj, self).__init__(selfNodeAddr, otherNodeAddrs, cfg) self.__counter = 0 self.__data = {}
def __init__(self, port, members, secret=""): JSBASE.__init__(self) self._members = members self.port = port self.dict1 = ReplDict() remotes = ["%s:%s" % item for item in self.members] cfg = SyncObjConf(autoTick=True) cfg.onReady = self.onReady if secret is not "" and secret is not None: print("SECRET") cfg.password = secret cfg.appendEntriesPeriod = 0.01 cfg.appendEntriesUseBatch = True cfg.raftMinTimeout = 0.4 cfg.raftMaxTimeout = 1.4 cfg.dynamicMembershipChange = True cfg.onStateChanged = None cfg.commandsWaitLeader = False cfg.connectionRetryTime = 5.0 # connect to other down nodes every so many secs cfg.connectionTimeout = 3.5 cfg.leaderFallbackTimeout = 10.0 cfg.journalFile = "/tmp/raft/raft_%s" % self.port cfg.leaderFallbackTimeout = True cfg.logCompactionMinEntries = 1000 cfg.logCompactionMinTime = 60 self._log_debug("port:%s" % self.port) self._log_debug("members:%s" % remotes) # self._log_debug("secret:%s"%secret) self.syncobj = SyncObj("localhost:%s" % port, remotes, consumers=[self.dict1], conf=cfg) # for i in range(100000000): # time.sleep(0.001) # # self.syncobj.doTick() # from IPython import embed;embed(colors='Linux') # s while self.syncobj.isReady() == False: time.sleep(1) print("wait sync") time.sleep(1) self.start()
def __init__(self, selfNodeAddr, otherNodeAddrs, testType = TEST_TYPE.DEFAULT, compactionMinEntries = 0, dumpFile = None, journalFile = None, password = None, dynamicMembershipChange = False, useFork = True, testBindAddr = False): cfg = SyncObjConf(autoTick=False, appendEntriesUseBatch=False) cfg.appendEntriesPeriod = 0.1 cfg.raftMinTimeout = 0.5 cfg.raftMaxTimeout = 1.0 cfg.dynamicMembershipChange = dynamicMembershipChange if testBindAddr: cfg.bindAddress = selfNodeAddr if dumpFile is not None: cfg.fullDumpFile = dumpFile if password is not None: cfg.password = password cfg.useFork = useFork if testType == TEST_TYPE.COMPACTION_1: cfg.logCompactionMinEntries = compactionMinEntries cfg.logCompactionMinTime = 0.1 cfg.appendEntriesUseBatch = True if testType == TEST_TYPE.COMPACTION_2: cfg.logCompactionMinEntries = 99999 cfg.logCompactionMinTime = 99999 cfg.fullDumpFile = dumpFile if testType == TEST_TYPE.RAND_1: cfg.autoTickPeriod = 0.05 cfg.appendEntriesPeriod = 0.02 cfg.raftMinTimeout = 0.1 cfg.raftMaxTimeout = 0.2 cfg.logCompactionMinTime = 9999999 cfg.logCompactionMinEntries = 9999999 cfg.journalFile = journalFile if testType == TEST_TYPE.JOURNAL_1: cfg.logCompactionMinTime = 999999 cfg.logCompactionMinEntries = 999999 cfg.fullDumpFile = dumpFile cfg.journalFile = journalFile if testType == TEST_TYPE.AUTO_TICK_1: cfg.autoTick = True cfg.pollerType = 'select' if testType == TEST_TYPE.WAIT_BIND: cfg.maxBindRetries = 1 cfg.autoTick = True super(TestObj, self).__init__(selfNodeAddr, otherNodeAddrs, cfg) self.__counter = 0 self.__data = {}
def __init__(self, selfNodeAddr, otherNodeAddrs, testType = TEST_TYPE.DEFAULT, compactionMinEntries = 0, dumpFile = None, journalFile = None, password = None, dynamicMembershipChange = False, useFork = True, testBindAddr = False, consumers = None, onStateChanged = None, leaderFallbackTimeout = None): cfg = SyncObjConf(autoTick=False, appendEntriesUseBatch=False) cfg.appendEntriesPeriod = 0.1 cfg.raftMinTimeout = 0.5 cfg.raftMaxTimeout = 1.0 cfg.dynamicMembershipChange = dynamicMembershipChange cfg.onStateChanged = onStateChanged if leaderFallbackTimeout is not None: cfg.leaderFallbackTimeout = leaderFallbackTimeout if testBindAddr: cfg.bindAddress = selfNodeAddr if dumpFile is not None: cfg.fullDumpFile = dumpFile if password is not None: cfg.password = password cfg.useFork = useFork if testType == TEST_TYPE.COMPACTION_1: cfg.logCompactionMinEntries = compactionMinEntries cfg.logCompactionMinTime = 0.1 cfg.appendEntriesUseBatch = True if testType == TEST_TYPE.COMPACTION_2: cfg.logCompactionMinEntries = 99999 cfg.logCompactionMinTime = 99999 cfg.fullDumpFile = dumpFile if testType == TEST_TYPE.LARGE_COMMAND: cfg.connectionTimeout = 15.0 cfg.logCompactionMinEntries = 99999 cfg.logCompactionMinTime = 99999 cfg.fullDumpFile = dumpFile cfg.raftMinTimeout = 1.5 cfg.raftMaxTimeout = 2.5 #cfg.appendEntriesBatchSizeBytes = 2 ** 13 if testType == TEST_TYPE.RAND_1: cfg.autoTickPeriod = 0.05 cfg.appendEntriesPeriod = 0.02 cfg.raftMinTimeout = 0.1 cfg.raftMaxTimeout = 0.2 cfg.logCompactionMinTime = 9999999 cfg.logCompactionMinEntries = 9999999 cfg.journalFile = journalFile if testType == TEST_TYPE.JOURNAL_1: cfg.logCompactionMinTime = 999999 cfg.logCompactionMinEntries = 999999 cfg.fullDumpFile = dumpFile cfg.journalFile = journalFile if testType == TEST_TYPE.AUTO_TICK_1: cfg.autoTick = True cfg.pollerType = 'select' if testType == TEST_TYPE.WAIT_BIND: cfg.maxBindRetries = 1 cfg.autoTick = True super(TestObj, self).__init__(selfNodeAddr, otherNodeAddrs, cfg, consumers) self.__counter = 0 self.__data = {}