def test_get_min_isr_empty(): TOPIC_CONFIG_WITHOUT_MIN_ISR = {'version': 1, 'config': {'retention.ms': '86400000'}} attrs = {'get_topic_config.return_value': TOPIC_CONFIG_WITHOUT_MIN_ISR} zk_mock = mock.MagicMock(**attrs) min_isr = get_min_isr(zk_mock, 'topic_0') zk_mock.get_topic_config.assert_called_once_with('topic_0') assert min_isr is None
def test_get_min_isr_empty(): TOPIC_CONFIG_WITHOUT_MIN_ISR = {'version': 1, 'config': {'retention.ms': '86400000'}} attrs = {'get_topic_config.return_value': TOPIC_CONFIG_WITHOUT_MIN_ISR} zk_mock = mock.MagicMock(**attrs) min_isr = get_min_isr(zk_mock, 'topic_0') zk_mock.get_topic_config.assert_called_once_with('topic_0') assert min_isr is None
def test_get_min_isr(): TOPIC_CONFIG_WITH_MIN_ISR = { 'version': 1, 'config': {'retention.ms': '86400000', 'min.insync.replicas': '3'}, } attrs = {'get_topic_config.return_value': TOPIC_CONFIG_WITH_MIN_ISR} zk_mock = mock.MagicMock(**attrs) min_isr = get_min_isr(zk_mock, 'topic_0') zk_mock.get_topic_config.assert_called_once_with('topic_0') assert min_isr == 3
def test_get_min_isr(): TOPIC_CONFIG_WITH_MIN_ISR = { 'version': 1, 'config': {'retention.ms': '86400000', 'min.insync.replicas': '3'}, } attrs = {'get_topic_config.return_value': TOPIC_CONFIG_WITH_MIN_ISR} zk_mock = mock.MagicMock(**attrs) min_isr = get_min_isr(zk_mock, 'topic_0') zk_mock.get_topic_config.assert_called_once_with('topic_0') assert min_isr == 3
def _find_topics_with_wrong_rp(topics, zk, default_min_isr): """Returns topics with wrong replication factor.""" topics_with_wrong_rf = [] for topic_name, partitions in topics.items(): min_isr = get_min_isr(zk, topic_name) or default_min_isr replication_factor = len(partitions[0].replicas) if replication_factor >= min_isr + 1: continue topics_with_wrong_rf.append({ 'replication_factor': replication_factor, 'min_isr': min_isr, 'topic': topic_name, }) return topics_with_wrong_rf
def _find_topics_with_wrong_rp(topics, zk, default_min_isr): """Returns topics with wrong replication factor.""" topics_with_wrong_rf = [] for topic_name, partitions in topics.items(): min_isr = get_min_isr(zk, topic_name) or default_min_isr replication_factor = len(partitions[0].replicas) if replication_factor >= min_isr + 1: continue topics_with_wrong_rf.append({ 'replication_factor': replication_factor, 'min_isr': min_isr, 'topic': topic_name, }) return topics_with_wrong_rf