From 5a9cd750734b8b4484e6e8bcbe79a38c10c47662 Mon Sep 17 00:00:00 2001 From: Parth Brahmbhatt Date: Thu, 19 Mar 2015 11:28:35 -0700 Subject: [PATCH] KAFKA-2032: Add validation for partition.assignment.strategy. --- .../java/org/apache/kafka/clients/consumer/ConsumerConfig.java | 1 + core/src/main/scala/kafka/consumer/ConsumerConfig.scala | 10 ++++++++++ 2 files changed, 11 insertions(+) diff --git a/clients/src/main/java/org/apache/kafka/clients/consumer/ConsumerConfig.java b/clients/src/main/java/org/apache/kafka/clients/consumer/ConsumerConfig.java index 42c7219..84f2677 100644 --- a/clients/src/main/java/org/apache/kafka/clients/consumer/ConsumerConfig.java +++ b/clients/src/main/java/org/apache/kafka/clients/consumer/ConsumerConfig.java @@ -171,6 +171,7 @@ public class ConsumerConfig extends AbstractConfig { .define(PARTITION_ASSIGNMENT_STRATEGY_CONFIG, Type.STRING, "blah", + in("range", "roundrobin"), Importance.MEDIUM, PARTITION_ASSIGNMENT_STRATEGY_DOC) .define(METADATA_MAX_AGE_CONFIG, diff --git a/core/src/main/scala/kafka/consumer/ConsumerConfig.scala b/core/src/main/scala/kafka/consumer/ConsumerConfig.scala index 9ebbee6..25688bf 100644 --- a/core/src/main/scala/kafka/consumer/ConsumerConfig.scala +++ b/core/src/main/scala/kafka/consumer/ConsumerConfig.scala @@ -58,6 +58,7 @@ object ConsumerConfig extends Config { validateGroupId(config.groupId) validateAutoOffsetReset(config.autoOffsetReset) validateOffsetsStorage(config.offsetsStorage) + validatePartitionStretagy(config.partitionAssignmentStrategy) } def validateClientId(clientId: String) { @@ -85,6 +86,15 @@ object ConsumerConfig extends Config { "Valid values are 'zookeeper' and 'kafka'") } } + + def validatePartitionStretagy(stretagy: String) { + stretagy match { + case "range" => + case "roundrobin" => + case _ => throw new InvalidConfigException("Wrong value " + stretagy + " of partition.assignment.strategy in consumer config; " + + "Valid values are 'range' and 'roundrobin'") + } + } } class ConsumerConfig private (val props: VerifiableProperties) extends ZKConfig(props) { -- 1.9.3 (Apple Git-50)