public class TierTestUtils
extends java.lang.Object
Modifier and Type | Method and Description |
---|---|
static boolean |
checkTieringCompleted(org.apache.kafka.clients.admin.AdminClient adminClient,
java.lang.String topicName,
int numPartitions,
java.lang.String jmxAuth,
boolean jmxSsl,
int jmxPort,
boolean debug,
java.lang.String testMetricsOutputDirPath,
java.lang.String metricsOutputFilenamePrefix,
int durationSec)
A helper function which periodically checks if tiering has completed by quering JMX
metrics & analyzing them.
|
static java.util.Map<java.lang.Integer,java.lang.String> |
collectJmxMetrics(org.apache.kafka.clients.admin.AdminClient adminClient,
java.lang.String topic,
java.lang.String testMetricsOutputDirPath,
java.lang.String metricsOutputFilenamePrefix,
java.lang.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(java.lang.String bootstrapServers)
Creates an admin client.
|
static void |
createTopic(org.apache.kafka.clients.admin.AdminClient adminClient,
java.lang.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,
java.lang.String topic)
Deletes the earlier created topic on the bootstrap server (if the topic exists).
|
static boolean |
objectDeletionsCompleted(java.util.Properties objectStoreProps,
java.lang.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(java.lang.String bootstrapServers)
public static void createTopic(org.apache.kafka.clients.admin.AdminClient adminClient, java.lang.String topic, int tierSegmentHotsetRollMinBytes, long tierLocalHotsetBytes, long tierLocalHotsetMs, int numPartitions, int replicationFactor) throws java.util.concurrent.ExecutionException, java.lang.InterruptedException
java.util.concurrent.ExecutionException
java.lang.InterruptedException
public static boolean deleteTopic(org.apache.kafka.clients.admin.AdminClient adminClient, java.lang.String topic) throws java.util.concurrent.ExecutionException, java.lang.InterruptedException
java.util.concurrent.ExecutionException
java.lang.InterruptedException
public static boolean objectDeletionsCompleted(java.util.Properties objectStoreProps, java.lang.String bucketName, int backoffSec, int timeoutSec)
java.io.IOException
java.lang.InterruptedException
public static java.util.Map<java.lang.Integer,java.lang.String> collectJmxMetrics(org.apache.kafka.clients.admin.AdminClient adminClient, java.lang.String topic, java.lang.String testMetricsOutputDirPath, java.lang.String metricsOutputFilenamePrefix, java.lang.String jmxAuth, boolean jmxSsl, int jmxPort, int numPartitions, int durationSec, boolean debug) throws java.util.concurrent.ExecutionException, java.lang.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
- java.io.IOException
java.util.concurrent.ExecutionException
java.lang.InterruptedException
public static boolean checkTieringCompleted(org.apache.kafka.clients.admin.AdminClient adminClient, java.lang.String topicName, int numPartitions, java.lang.String jmxAuth, boolean jmxSsl, int jmxPort, boolean debug, java.lang.String testMetricsOutputDirPath, java.lang.String metricsOutputFilenamePrefix, int durationSec) throws java.lang.Exception
java.lang.Exception