Mirror of Apache Kafka
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

71 lines
2.9 KiB

# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
#!/usr/bin/env python
# =================================================================
# replication_utils.py
# - This module defines constant values specific to Kafka Replication
# and also provides helper functions for Replication system test.
# =================================================================
import logging
import sys
class ReplicationUtils(object):
thisClassName = '(ReplicationUtils)'
d = {'name_of_class': thisClassName}
logger = logging.getLogger("namedLogger")
anonLogger = logging.getLogger("anonymousLogger")
def __init__(self, testClassInstance):
super(ReplicationUtils, self).__init__()
self.logger.debug("#### constructor inside ReplicationUtils", extra=self.d)
# leader attributes
self.isLeaderLogPattern = "Completed the leader state transition"
self.brokerShutDownCompletedPattern = "shut down completed"
self.leaderAttributesDict = {}
self.leaderAttributesDict["BROKER_SHUT_DOWN_COMPLETED_MSG"] = \
self.brokerShutDownCompletedPattern
self.leaderAttributesDict["REGX_BROKER_SHUT_DOWN_COMPLETED_PATTERN"] = \
"\[(.*?)\] .* \[Kafka Server (.*?)\], " + \
self.brokerShutDownCompletedPattern
self.leaderAttributesDict["LEADER_ELECTION_COMPLETED_MSG"] = \
self.isLeaderLogPattern
self.leaderAttributesDict["REGX_LEADER_ELECTION_PATTERN"] = \
"\[(.*?)\] .* Broker (.*?): " + \
self.leaderAttributesDict["LEADER_ELECTION_COMPLETED_MSG"] + \
" for topic (.*?) partition (.*?) \(.*"
# Controller attributes
self.isControllerLogPattern = "Controller startup complete"
self.controllerAttributesDict = {}
self.controllerAttributesDict["CONTROLLER_STARTUP_COMPLETE_MSG"] = self.isControllerLogPattern
self.controllerAttributesDict["REGX_CONTROLLER_STARTUP_PATTERN"] = "\[(.*?)\] .* \[Controller (.*?)\]: " + \
self.controllerAttributesDict["CONTROLLER_STARTUP_COMPLETE_MSG"]
# Data Loss Percentage Threshold in Ack = 1 cases
self.ackOneDataLossThresholdPercent = 5.0