public class TierTestUtils extends Object
Modifier and Type | Method and Description |
---|---|
static boolean |
checkTieringCompleted(org.apache.kafka.clients.admin.AdminClient adminClient,
String topicName,
int numPartitions,
String jmxAuth,
boolean jmxSsl,
int jmxPort,
boolean debug,
String testMetricsOutputDirPath,
String metricsOutputFilenamePrefix,
int durationSec)
A helper function which periodically checks if tiering has completed by quering JMX
metrics & analyzing them.
|
static Map<Integer,String> |
collectJmxMetrics(org.apache.kafka.clients.admin.AdminClient adminClient,
String topic,
String testMetricsOutputDirPath,
String metricsOutputFilenamePrefix,
String jmxAuth,
boolean jmxSsl,
int jmxPort,
int numPartitions,
int durationSec,
boolean debug)
Collects JMX metrics from all brokers in the cluster for the specified duration,
and returns the collected metrics to the caller.
|
static org.apache.kafka.clients.admin.AdminClient |
createAdminClient(String bootstrapServers)
Creates an admin client.
|
static void |
createTopic(org.apache.kafka.clients.admin.AdminClient adminClient,
String topic,
int tierSegmentHotsetRollMinBytes,
long tierLocalHotsetBytes,
long tierLocalHotsetMs,
int numPartitions,
int replicationFactor)
Creates a topic using the provided bootstrap server & topic name and given topic configs.
|
static boolean |
deleteTopic(org.apache.kafka.clients.admin.AdminClient adminClient,
String topic)
Deletes the earlier created topic on the bootstrap server (if the topic exists).
|
static boolean |
objectDeletionsCompleted(Properties objectStoreProps,
String bucketName,
int backoffSec,
int timeoutSec)
Verifies data retention workflow by repeatedly querying S3 for list of object.
|
public static org.apache.kafka.clients.admin.AdminClient createAdminClient(String bootstrapServers)
public static void createTopic(org.apache.kafka.clients.admin.AdminClient adminClient, String topic, int tierSegmentHotsetRollMinBytes, long tierLocalHotsetBytes, long tierLocalHotsetMs, int numPartitions, int replicationFactor) throws ExecutionException, InterruptedException
public static boolean deleteTopic(org.apache.kafka.clients.admin.AdminClient adminClient, String topic) throws ExecutionException, InterruptedException
ExecutionException
InterruptedException
public static boolean objectDeletionsCompleted(Properties objectStoreProps, String bucketName, int backoffSec, int timeoutSec)
IOException
InterruptedException
public static Map<Integer,String> collectJmxMetrics(org.apache.kafka.clients.admin.AdminClient adminClient, String topic, String testMetricsOutputDirPath, String metricsOutputFilenamePrefix, String jmxAuth, boolean jmxSsl, int jmxPort, int numPartitions, int durationSec, boolean debug) throws ExecutionException, InterruptedException
adminClient
- topic
- topic to collect metrics fromtestMetricsOutputDirPath
- directory to write metrics tometricsOutputFilenamePrefix
- prefix for metrics filenamejmxAuth
- jmx authenticationjmxSsl
- when set to true, jmx is enabled with ssljmxPort
- port to scrape metrics fromnumPartitions
- number of partitions in topicdurationSec
- duration to scrape metrics fordebug
- IOException
ExecutionException
InterruptedException
public static boolean checkTieringCompleted(org.apache.kafka.clients.admin.AdminClient adminClient, String topicName, int numPartitions, String jmxAuth, boolean jmxSsl, int jmxPort, boolean debug, String testMetricsOutputDirPath, String metricsOutputFilenamePrefix, int durationSec) throws Exception
Exception